帮助Django查询

时间:2010-10-02 22:45:36

标签: django django-models

我需要使用Django QuerySystem进行此查询。

SELECT  DATE(`date`), count(*)
FROM `maggie_item`
GROUP BY DATE(`date`) DESC

我的模特:

物品

  • date = DateTime
  • title = textfield

感谢您的帮助

2 个答案:

答案 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