Django: Сохранение созданного объекта для пользователя?

У меня есть модель загрузок, и я хочу связать загруженные изображения с пользователем, чтобы впоследствии каждый пользователь мог просматривать только свои объекты, поэтому я пытаюсь сохранить созданные объекты для аутентифицированного пользователя, но это не работает, и я продолжаю получать owner =null на моей модели

class Uploads(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    title=models.CharField(max_length=500,default='none')
    image=models.ImageField(upload_to='media',unique=True)
    created_at = models.DateTimeField(auto_now_add=True)
    associatedFile=models.ForeignKey(to=File, on_delete=models.CASCADE,null=True)
    owner=models.ForeignKey(User,related_name="uploads", on_delete=CASCADE,null=True)

class IsOwnerFilterBackend(filters.BaseFilterBackend):
    def filter_queryset(self, request, queryset, view):
        queryset=Uploads.objects.all()
        return queryset.filter(owner=request.user)

class UploadView(viewsets.ModelViewSet):
    queryset=Uploads.objects.all()
    serializer_class=UploadSerializer
    filter_backends = (IsOwnerFilterBackend,)
    @api_view(['GET', 'POST'])
    def methodes(self,request,*args,**kwargs):
        if request.method=='POST':
            serializer=UploadSerializer(data=request.data)
            if serializer.is_valid():
                serializer.save(owner=self.request.user)   
                return Response("test_token success", status=status.HTTP_200_OK)   
            return HttpResponse({'message':'error'},status=400)
        elif request.method=='GET': 
                images=Uploads.objects.filter(owner=self.request.user)
                serializers=UploadSerializer(images[0],many=False)
                return JsonResponse(serializers.data,safe=False)

class UploadSerializer(serializers.ModelSerializer):
    image = Base64ImageField(
        max_length=None, use_url=True,
    )
    owner=serializers.ReadOnlyField()
    class Meta:
        model = Uploads
        fields = '__all__'

попробуйте это

class IsOwnerFilterBackend(filters.BaseFilterBackend):
    def filter_queryset(self, request, queryset, view):
        queryset=Uploads.objects.all()
        return queryset.filter(owner=request.user)

class UploadView(viewsets.ModelViewSet):
    queryset=Uploads.objects.all()
    serializer_class=UploadSerializer
    filter_backends = (IsOwnerFilterBackend,)
    @api_view(['GET', 'POST'])
    def methodes(self,request,*args,**kwargs):
        if request.method=='POST':
            serializer=UploadSerializer(data=request.data)
            if serializer.is_valid():
                serializer.save(owner=request.user)   
                return Response("test_token success", status=status.HTTP_200_OK)   
            return HttpResponse({'message':'error'},status=400)
        elif request.method=='GET': 
                images=Uploads.objects.filter(owner=request.user)
                serializers=UploadSerializer(images[0],many=False)
                return JsonResponse(serializers.data,safe=False)
Вернуться на верх