我想做一个“评论”表。在表上,将有一个包含创建评论的 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 token}
内容类型:应用程序/json
身体:
{ "content": "这是评论" }
但我得到了这个回应:
{ "user": [ "此字段为必填项。" ] }
如何修复序列化程序,以便从令牌(request.user)中检索用户?