加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python-获取相关集合中对象的数量

发布时间:2020-12-17 17:37:49 所属栏目:Python 来源:网络整理
导读:有两种模型: class Article(..: locations = ManyToMany('Location'...,related_name='articles')class Location(...): ... 我正在寻找一种方法来获取任何related_set Article.locations中的位置外观数量 例如: 第1条-米兰,维也纳,巴黎 第2条-米兰,巴黎 第

有两种模型:

class Article(..:
    locations = ManyToMany('Location'...,related_name='articles')

class Location(...):
    ...

我正在寻找一种方法来获取任何related_set Article.locations中的位置外观数量

例如:

>第1条-米兰,维也纳,巴黎
>第2条-米兰,巴黎
>第三条-巴黎
>文章-迪拜

结果将是:

巴黎-3,米兰-2,维也纳-1,迪拜-1

我到此结束:

Location.objects.all().annotate(Count(?))

是否可以在一两个查询中完成?我想避免使用循环.

此外,我只考虑文章的子集(经过过滤的查询集)来完成此操作.

最佳答案
尝试这个

Location.objects.all().annotate(
    locations_count=Count('locations')
  )

并在模板中

{{obj.locations_count}}

要么

ax = Location.objects.all().count()
 {{ax}}

希望能帮助到你

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读