Как показать только видео в Django-Rest-Framework?

Я использую Django и React для создания клона YouTube.

У меня есть панель администратора, где пользователь может удалять и редактировать свои видео.

Но проблема в том, что он показывает мои видео и видео других пользователей.

Как сделать так, чтобы в админ панели отображались только мои видео?


views.py Api Views

class AdminVideoDetail(generics.RetrieveAPIView):
    permission_classes = [IsAuthenticated]
    quesryset = Video.objects.all()
    serializer_class = VideoSerializer

videos.js Видео в панели администратора

Если вы хотите посмотреть на весь проект, вот github: https://github.com/PHILLyaHI/diplom-work

Создайте модуль python с именем permissions.py

добавьте эту строку кода

from rest_framework import permissions



class IsOwnerOrReadOnly(permissions.BasePermission):
"""
    
"""

def has_object_permission(self, request, view, obj):
    # I check if the request is of type GET or OPTIONS
    #I return true, that the use is able to access on this views
    if request.method in permissions.SAFE_METHODS:
        return True
    return obj.owner == request.user

    """ 
       Instance must have an attribute named `owner` or you can change owner with the name of your models fields `user = models.ForeignKey(UserModel, on_delete=models.casscade).

"""

После этого, зайдите в модуль views.py, добавьте

class AdminVideoDetail(generics.RetrieveAPIView):
permission_classes = [IsAuthenticated, IsOwnerOrReadOnly]
quesryset = Video.objects.all()
serializer_class = VideoSerializer

Только видеозаписи владельца будут получены

Вернуться на верх