如何获取 Django 模型中多对多字段的总数?

这是一个Blog模型,如何从整体博客对象中获取总数likes?


class Blog(models.Model):

    title = models.CharField(max_length=160)

    ...

    likes = models.ManyToManyField(

        User, related_name='likes',  blank=True, default=None)

在模板中,我可以使用它,user.likes.count它将返回单个用户的总喜欢计数,但我如何获取所有用户的总喜欢计数。


谢谢


PIPIONE
浏览 119回答 1
1回答

BIG阳

Blog您可以访问和之间的“通过”模型User,并使用以下方法计算此通过模型的对象数量:Blog.likes.through.objects.count()这里Blog是Blog 类,而不是单个Blog 对象。如果您将对该类的引用传递给Blog模板,则可以使用以下命令进行渲染:{{ Blog.likes.through.objects.count }}因此,这是所有 Users 对所有 s给予的点赞总数Blog。注意:通常使用settings.AUTH_USER_MODEL[Django-doc]来引用用户模型比直接使用User模型 [Django-doc]更好。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python