Я хочу сделать таблицу комментариев.В таблице будет поле, содержащее user_id, который создал комментарий.Пользователь, связанный с таблицей комментариев, относится к модели пользователя Django по умолчанию.Это модель комментариев:
class Comment(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
content = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)
Это сериализатор комментариев:
class CommentSerializer(serializers.ModelSerializer):
class Meta:
model = Comment
fields = '__all__'
Это набор для создания нового комментария:
class CommentViewSet(mixins.CreateModelMixin, viewsets.GenericViewSet):
queryset = Comment.objects.all()
serializer_class = CommentSerializer
permission_classes = (IsAuthenticated,)
def perform_create(self, serializer):
serializer.save(user=self.request.user)
Я также интегрирую пользователя с django rest jwt для авторизации.Это заголовок и данные, которые я отправил в API.
Заголовок:
Авторизация: Носитель {токен jwt}
Тип содержимого: application / json
body:
{"content": "Это комментарий"}
Но я получаю этот ответ:
{"user": ["Это поле обязательно к заполнению."]}
Как исправить сериализатор, чтобы он извлекал пользователя из токена (request.user)?