【问题标题】:How can I get the number of records that reference a particular foreign key in Django?如何获取在 Django 中引用特定外键的记录数?
【发布时间】:2010-09-26 04:00:58
【问题描述】:

我正在使用 Django 开发一个博客应用程序。自然地,我设置了有帖子和评论的模型,并且特定的帖子可能有很多评论;因此,Post 是 Comments 模型中的 ForeignKey。

给定一个 Post 对象,是否有一种简单的方法(理想情况下,通过方法调用)来找出有多少评论属于该 Post?

【问题讨论】:

    标签: python django django-models


    【解决方案1】:
    Comments.objects.filter(post=post).count()
    

    或:

    post.comment_set.count()
    

    【讨论】:

    • 第二种是规范方式。
    【解决方案2】:

    您可以将字段 CommentCount 添加到您的 Post 模型,并在 pre_save、pre_delete 信号中更新它。 db 很难在每次视图调用时计算 cmets 计数,并且查询的数量会增加。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      相关资源
      最近更新 更多