#python #django #django-rest-framework
Вопрос:
Я хочу передать идентификатор пользователя из представления в сериализатор, у меня есть модельный ответ
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()
Что мне нужно написать в своем представлении, чтобы взять идентификатор пользователя и создать модель с этим идентификатором пользователя ?
Ответ №1:
Вы можете переопределить perform_create
метод и передать user_id
поле save
методу сериализатора.
class CreateAnswerView(generics.CreateAPIView) : serializer_class = AnswerQuestionSerializer def perform_create(self, serializer): serializer.save(user_id=self.request.user.id)
Комментарии:
1. Спасибо! Имеется ли это в виду ?
2. @ArslanYersain Да, это имеется в виду.