我需要使用Django QuerySystem进行此查询。
SELECT DATE(`date`), count(*)
FROM `maggie_item`
GROUP BY DATE(`date`) DESC
我的模特:
物品
感谢您的帮助
答案 0 :(得分:3)
假设您的模型为Item
。然后:
from django.db.models import Count
Item.objects.values('date').annotate(Count('id'))
按日期而不是日期时间进行分组:
Item.objects.extra(select = { 'date': "DATE(date)" }).values('date').annotate(Count('id'))
我只在Postgresql上做过这个,以下是有效的,所以我认为上面的内容对你有用。
Item.objects.extra(select={'date' : "date_trunc('day', date)"}).values('date').annotate(Count('id'))
答案 1 :(得分:0)
我没有找到使用Django查询系统进行投射和分组,所以我使用游标
from django.db import connection
cursor = connection.cursor()
cursor.execute("SELECT DATE(date), count(id) FROM maggie_item GROUP BY DATE(date) DESC")
for a in cursor:
print a