Je voudrais compter les lignes de chaque jour des 60 derniers jours et les renvoyer sous forme de liste.Comptage des lignes de chaque jour des 60 derniers jours
models.py
class Error(models.Model):
name = models.CharField(max_length=250)
adding_time = models.DateTimeField(auto_now=True)
Dans la base de données que j'ai:
name | adding_time
------------------------------------
error_1 | 2017-04-10 10:47:33.204518
error_2 | 2017-04-10 11:01:12.339936
error_3 | 2017-04-21 08:40:56.862731
error_4 | 2017-04-21 08:45:50.235212
Ce que je voudrais obtenir est la liste des dates et des lignes comptai en ce jour-là:
[{'count': 2, 'adding_date': '2017-04-10'}, {'count': 2, 'adding_date': '2017-04-21'}]
Jusqu'ici, j'ai fait quelque chose comme ceci:
last_30_days_errors = Error.filter(adding_time__lte=datetime.datetime.today(),adding_time__gt=datetime.datetime.today()-datetime.timedelta(days=60))
errors_dates = last_30_days_errors.extra({'adding_date': 'date(adding_time)'}).values('adding_date')
Il revient:
>>> [{'count': 1, 'adding_date': '2017-04-10'}, {'count': 1, 'adding_date': '2017-04-10'}, {'count': 1, 'adding_date': '2017-04-21'}, {'count': 1, 'adding_date': '2017-04-21'}]
je peux l'analyser, mais est-il une méthode pour le faire par une requête? Merci.
travail! Je vous remercie! – Dzawor