Je me demandais s'il est possible d'obtenir un résultat que je peux obtenir l'aide de cette requête SQL avec seulement Django ORM:Django - ORM question
SELECT * FROM (SELECT DATE_FORMAT(created, "%Y") as dte, sum(1) FROM some_table GROUP BY dte) as analytics;
Le résultat est:
+------+--------+
| dte | sum(1) |
+------+--------+
| 2006 | 20 |
| 2007 | 2230 |
| 2008 | 4929 |
| 2009 | 1177 |
+------+--------+
La simplifiée modèle ressemble à ceci:
# some/models.py
class Table(models.Model):
created = models.DateTimeField(default=datetime.datetime.now)
J'ai essayé différentes façons en utilisant mélange de .extra (select = {}) et .values () et aussi en utilisant la .query.group_by astuce décrit here mais apprécierait un regard neuf sur le problème.
Encore une fois, je suis bien conscient des capacités d'agrégation de Django dans la dernière version. Pourriez-vous essayer de construire une telle requête qui fait ce que le SQL brut que j'ai fourni fait? :) –