Я только что выполнил небольшое руководство по использованию DRF, но не могу понять, как понравиться моей модели его пользователю при размещении нового объекта
это моя модель:
# Create your models here.
class Project(models.Model):
# project title
title = models.CharField(max_length=255, null=False)
# subtitle
subtitle = models.CharField(max_length=255, null=False)
#######
user = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
и так мой serializer
class ProjectSerializer(serializers.ModelSerializer):
class Meta:
model = Project
fields = ("id", "title", "subtitle", "user_id")
так, теперь в view
у меня есть доступ к current_user с этим: request.user
class ListProjectsView(generics.ListCreateAPIView):
authentication_classes = [authentication.TokenAuthentication]
queryset = Project.objects.all()
serializer_class = ProjectSerializer
def list(self, request):
queryset = Project.objects.filter(user_id=request.user.id)
serializer = ProjectSerializer(queryset, many=True)
return Response(serializer.data)
[...]
def create(self, request, pk = None):
return super(ListProjectsView, self).create(request, pk = None)
Я полагаю, что естьспособ передать request.user
- это создание, чтобы можно было заполнить мой Project.user_id?
Что бы я ни делал, мне не удается настроить пользователя, и я получаю django.db.utils.IntegrityError: null value in column "user_id" violates not-null constraint
ошибка
Есть идеи?
Спасибо!