我一直在尝试使用DateTimeField
.
SQL:
SELECT strftime('%H', created_on), count(*)
FROM users_test
GROUP BY strftime('%H', created_on);
此查询工作正常,但相应的 Django 查询不能。
我试过的 Django 查询:
Test.objects.extra({'hour': 'strftime("%%H", created_on)'}).values('hour').annotate(count=Count('id'))
# SELECT (strftime("%H", created_on)) AS "hour", COUNT("users_test"."id") AS "count" FROM "users_test" GROUP BY (strftime("%H", created_on)), "users_test"."created_on" ORDER BY "users_test"."created_on" DESC
它通过“users_test”添加了额外的组。“created_on”,我猜这给出了不正确的结果。
如果有人可以向我解释这一点并提供解决方案,那就太好了。
环境:
- 蟒蛇 3
- Django 1.8.1
提前致谢