Как передавать данные сериализаторам в django

Я хочу передавать user_id из представления в сериализатор У меня есть модель Ответ

class Answer(models.Model) :
    
    text = models.CharField(max_length=500)
    question_id = models.CharField(max_length=25)
    user_id = models.CharField(max_length=25, default=1)

Это мой сериализатор

class CreateAnswer(generics.CreateAPIView) :

    def get_serializer_context(self):
        context = super().get_serializer_context()
        context["id"] = self.request.user.id
        return context

    serializer_class = AnswerQuestionSerializer
    queryset = Answer.objects.all()

Что мне нужно написать в моем представлении, чтобы взять user_id и создать модель с этим user_id ?

Вы можете переопределить метод perform_create & передать поле user_id в метод save сериализатора.

class CreateAnswer(generics.CreateAPIView) :
    serializer_class = AnswerQuestionSerializer

    def perform_create(self, serializer):
        serializer.save(user_id=self.request.user.id)
Вернуться на верх