分组条件 (跨表查询)
2018-10-29 16:39 冻奶香甜玉米片 阅读(190) 评论(0) 编辑 收藏 举报以每一个后面的表的主键作为group by的分组条件
(即把书籍替换为某表)
总结:
# 总结 跨表的分组查询的模型:
# 每一个x的表模型.objects.values("pk").annotate(聚合函数(关联表__统计字段)).values("表模型的所有字段以及统计字段")(只能显示原表的每一个属性加统计出来的属性值,原表指的是x表)
# 每一个x的表模型.objects.annotate(聚合函数(关联表__统计字段)).values("表模型的所有字段以及统计字段")
# 统计不止一个作者的图书
ret=Book.objects.values("pk").annotate(c=Count("authors__name")).filter(c__gt=1).values("title","c")
print(ret)、
分组之后再过滤
等于sql语句中的having count(app01_author.name)>1