select_related queryset queries example django django-models django-views

queryset - Django Query la misma semana del año pasado



orm django queries (1)

Necesito comparar sumas de eventos en la misma semana (isocalendar), año tras año.

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

Lo tengo ordenado para el año pasado, el mes pasado, el mismo mes del año pasado, el mismo día del año pasado usando variaciones en:

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'']

No veo una función de ''semana'' equivalente. Puedo usar .isocalendar () [1] en el lado derecho de la ecuación, pero eso no es de ayuda a la izquierda. ¿Algunas ideas? Gracias.


Django 1.11 agregó un filtro de semana . Puedes usar eso?

De lo contrario, es posible que pueda ver el código fuente y seleccionarlo con precisión.

Como último recurso, puede usar Python para calcular el rango de fechas para la misma semana del año pasado, y luego pasar esas fechas como filtros a la consulta de Django.