我使用的是django,我的模型名称为Tags
。
它在我的整个应用程序中使用15种不同的模型作为ManyToManyField。
我需要获得len
/ count
所有特定标签的出现。
我是如何做到这一点的?我必须使用Aggregate / annotate吗?选择相关?或者完全不同的东西。使用forloops的当然不是一种选择。
答案 0 :(得分:0)
如果您希望能够在一个请求中查询与标记相关的项目(如果它们是不同的Django模型),则应使用Django提供的contenttypes框架,而不是将Tags定义为ManyToMany字段。
文档中的示例正是您想要的。
https://docs.djangoproject.com/en/1.8/ref/contrib/contenttypes/#generic-relations
https://docs.djangoproject.com/en/1.8/ref/contrib/contenttypes/#reverse-generic-relations