Sampai modul sebelumnya, kita sudah bisa mendaftarkan user baru, mendapatkan token untuk menggunakan API.
Namun ada masalah, yaitu setiap user dapat mengupdate dan menghapus artikel yang bukan miliknya. Untuk itu kita perlu menambahkan permission.
Pada folder backend, buat file baru permissions.py, lalu tambahkan kode berikut:
from rest_framework import permissions class IsAuthor(permissions.BasePermission): def has_object_permission(self, request, view, obj): if request.method in permissions.SAFE_METHODS: return True return obj.author == request.user
Kemudian buka file backend/views.py, tambahkan code untuk cek permissions:
from .models import Article from .serializers import ArticleSerializer from rest_framework import viewsets from rest_framework.permissions import IsAuthenticated # import permission from .permissions import IsAuthor class ArticleViewSet(viewsets.ModelViewSet): queryset = Article.objects.all() serializer_class = ArticleSerializer lookup_field = 'slug' #tambahkan permission IsAuthor permission_classes = [IsAuthenticated, IsAuthor] def perform_create(self, serializer): serializer.save(author = self.request.user)
Sekarang, user yang bukan author, hanya dapat melihat isi artikel, tetapi tidak bisa menghapus dan mengupdate (tombol upddate dan delete tidak tampil).
Sampai disini tutorial Membuat REST API menggunakan Django REST Framework telah selesai. Semoga bermanfaat.