2017-10-17 12 views
3

同じ週(isocalendar)のイベントの合計を比較する必要があります。上のバリエーションを使用して、私は、これは昨年のためにソートされたんだDjango同じ週昨年の質問

class MyModel(models.Model): 
    date = models.DateTime(... 
    hits = models.IntegerField(... 

、先月、昨年同月、同じ日に昨年:

same_month_last_year = MyModel.objects.filter(date__month = (datetime.datetime.now().month), date__year = (datetime.datetime.now() - relativedelta(years = 1)).year).aggregate(total=Sum('hits')['total'] 

私は同等の「週」が表示されません関数。私は方程式の右辺に.isocalendar()[1]を使うことができますが、それは左の助けにはなりません。何か案は?ありがとう。

答えて

2

Django 1.11は、week filterを追加しました。それを使用できますか?

もしそうでなければ、ソースコードを見て、それを選ぶことができます。

最後の手段として、Pythonを使用して昨年同じ週の日付範囲を計算し、それらの日付をフィルタとしてDjangoクエリに渡すことができます。

+0

完璧なソリューション。 – William