J'ai un modèle comme celui-ci:

class MyModel(Model):
    pub_date = DateTimeField(auto_now_add=True)
    hours = IntergerField()

    def get_weekly_hours(self)
        # Find a week-ago interval based on the pub_date
        # Then based on the interval found above, aggregate the...
        # Sum the `hours` altogether
        pass

Comment saisir l'intervalle de temps, puis la somme en fonction de cela?

0
KhoPhi 20 juil. 2015 à 23:35

2 réponses

Meilleure réponse
from datetime import timedelta
from django.db.models import Sum
from django.utils import timezone

MyModel.objects.filter(
    pub_date__gte=timezone.now() - timedelta(days=7)
).aggregate(sum_hours=Sum('hours'))
3
f43d65 22 juil. 2015 à 03:31

Veuillez vérifier les liens suivants:

  1. timedelta
  2. intervalle
  3. agrégation
0
Andrey Koltsov 21 juil. 2015 à 05:53