django 序列化程序字段无法识别明确定义的属性

django serializer field not recognizing attribute clearly defined

当我尝试 运行 视图时出现此错误:

AttributeError: Got AttributeError when attempting to get a value for field `inreplytouser` on serializer `ContentFeedPostCommentSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `QuerySet` instance.
Original exception text was: 'QuerySet' object has no attribute 'inreplytouser'.

这是我的模型:

class ContentFeedPostComments(models.Model):
   inreplytouser = models.ForeignKey(SiteUsers, null=True, related_name='replytouser', blank=True, on_delete=models.CASCADE)
   inreplytotopcomment = models.BigIntegerField(null=True, blank=True)
   timecommented = models.DateTimeField(auto_now_add=True)
   user = models.ForeignKey(SiteUsers, on_delete=models.CASCADE)
   contentcreator = models.ForeignKey(ContentCreatorUsers, on_delete=models.CASCADE)
   contentfeedpost = models.ForeignKey(ContentFeedPost, on_delete=models.CASCADE)
   text = models.CharField(max_length=1000)

这是序列化程序:

class ContentFeedPostCommentSerializer(ModelSerializer):
    id = IntegerField()
    inreplytouser = SiteusersSerializer()
    user = SiteusersSerializer()
    contentcreator = ContentCreatorSerializer()

    class Meta:
        model = ContentFeedPostComments
        fields = ('id','inreplytouser', 'inreplytotopcomment', 'timecommented',
                  'user', 'contentcreator', 'contentfeedpost', 'text')

视图如下:

class ContentFeedPostsComments(APIView):
    def get(self, request, *args, **kwargs):
        postid = kwargs.get('postid')
        contentfeedpost = get_object_or_404(ContentFeedPost, id=postid)
        topcomments = ContentFeedPostComments.objects.filter(contentfeedpost= contentfeedpost, inreplytotopcomment= None).order_by('timecommented')
        replycomments = ContentFeedPostComments.objects.filter( contentfeedpost = contentfeedpost, inreplytotopcomment__isnull = False).order_by('timecommented')
        serializedtopcomments = ContentFeedPostCommentSerializer(topcomments)
        serializedreplycomments = ContentFeedPostCommentSerializer(replycomments)
        payload = {
            'topcomments': serializedtopcomments.data,
            'replycomments': serializedreplycomments.data
        }
        return Response(payload)

我正在阅读有关将源传递到序列化程序字段的 inreplytouser 字段的内容,但这没有任何意义。非常感谢您在这种情况下的智慧和知识。

由于查询集是对象的集合,many=True..[DRF-doc]需要在序列化器中设置:

serializedtopcomments = ContentFeedPostCommentSerializer(topcomments, many=True)
serializedreplycomments = ContentFeedPostCommentSerializer(replycomments, many=True)