【发布时间】:2018-01-14 19:19:05
【问题描述】:
序幕:
这是SO中经常出现的一个问题:
- Django Models Group By
- Django equivalent for count and group by
- How to query as GROUP BY in django?
- How to use the ORM for the equivalent of a SQL count, group and join query?
我已经编写了一个关于 SO 文档的示例,但由于文档将于 2017 年 8 月 8 日关闭,我将按照this widely upvoted and discussed meta answer 的建议将我的示例转换为自我回答的帖子。
当然,我也很乐意看到任何不同的方法!
问题:
假设模型:
class Books(models.Model):
title = models.CharField()
author = models.CharField()
price = models.FloatField()
如何使用 Django ORM 在该模型上执行以下查询:
-
GROUP BY ... COUNT:SELECT author, COUNT(author) AS count FROM myapp_books GROUP BY author -
GROUP BY ... SUM:SELECT author, SUM (price) AS total_price FROM myapp_books GROUP BY author
【问题讨论】:
标签: python django group-by django-orm