Просто интересно, если это возможно, чтобы получить результат, который я могу получить с помощью этого SQL запроса только с Django ORM:Джанго - ОРМ вопрос
SELECT * FROM (SELECT DATE_FORMAT(created, "%Y") as dte, sum(1) FROM some_table GROUP BY dte) as analytics;
Результат является:
+------+--------+
| dte | sum(1) |
+------+--------+
| 2006 | 20 |
| 2007 | 2230 |
| 2008 | 4929 |
| 2009 | 1177 |
+------+--------+
Упрощенный модель выглядит следующим образом:
# some/models.py
class Table(models.Model):
created = models.DateTimeField(default=datetime.datetime.now)
Я пробовал различные способы, используя смесь .extra (выберите = {}) и .values (), а также с помощью .query.group_by трюк, описанный here, но по достоинству оценят свежие глаза на проблему.
Опять же, я хорошо знаю возможности агрегации, которые Django имеет в последней версии. Не могли бы вы попытаться создать такой запрос, который делает то, что предоставил ядро SQL? :) –