“post\u id”列不能为空
我不知道为什么我不能带来post\u id。如果你试图添加评论,你可能无法带来post\u id。我无法解决它。请帮帮我。你知道吗
你知道吗型号.py你知道吗
class Comment(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
post = models.ForeignKey(Post, on_delete=models.CASCADE)
你知道吗序列化程序.py你知道吗
class CommentSerializer(serializers.ModelSerializer):
user = UserSerializer(read_only=True)
post = PostSerializer(read_only=True)
class Meta:
model = Comment
fields = (
'user',
'post',
'id',
'content',
)
read_only_fields = ('created_at',)
你知道吗视图.py你知道吗
# api/views.py
class CommentView(viewsets.ModelViewSet):
queryset = Comment.objects.all()
serializer_class = CommentSerializer
permission_classes = (permissions.IsAuthenticated,)
def perform_create(self, serializer):
serializer.save(user=self.request.user)
评论模型与Post模型之间存在着外键关系。因此,如果创建新注释,则必须设置Post(Post\ id)的值。您可以在序列化程序中或在视图集中的perform\u create方法中执行此操作。你知道吗
在下面的示例中,我假设值为
post id
的字段名为post
。我没有为要检索的帖子添加验证。示例:
用下面的代码替换您的代码。你知道吗
替换代码后,请执行迁移并重试
相关问题 更多 >
编程相关推荐