使用石墨烯 django 计算点赞数

问题描述

我正在尝试使用石墨烯 django 制作一个字段,以便能够计算出每个帖子的点赞总数,我该怎么做,我尝试做的是以下内容

,

解决方法

可以使用根访问当前对象的属性,因此您无需手动传递您的帖子 ID。尝试这样的事情:

class PostType(DjangoObjectType):
    class Meta:
        model = Post

    likes = graphene.List()
    count_like = graphene.Int()

    def resolve_count_like(self,root,info,**kwargs):
        return Likes.objects.filter(post_id=root.id).count()

您可以通过在查询集上链接 len 来跳过通过 count() 检查长度。由于查询执行 SELECT COUNT(*),这会更快。