Как вывести фильтр и агрегацию в отдельную переменную, в джанго

Пытаюсь сделать запрос в джанге вида:

my_objects = Mymodel.objects.filter(date_change__date=date.today()).aggregate(param1=Count('counter', filter=Q(counter__gte=2)), param2=Count('counter', filter=Q(counter__lte=1)), param3=Count('counter'))

Но из-за того, что запрос получается огромный, хочу вывести фильтр и агрегацию в отдельную переменную. Пример

my_filter = date_change__date=date.today()
my_aggregate = param1=Count('counter', filter=Q(counter__gte=2)), param2=Count('counter', filter=Q(counter__lte=1)), param3=Count('counter')

my_objects = my_objects = Mymodel.objects.filter(my_filter).aggregate(my_aggregate)

Пробовал сделать через Q expression, фильтр работает, а в аггрегации пишет: Complex aggregates require an alias

Django 2.0 Python 3.6.9

Нашёл, помогла распаковка **kwargs

my_aggregate = {'param1' : Count('counter', filter=Q(counter__gte=2)),'param2' : Count('counter',filter=Q(counter__lte=1)),'param3' : Count('counter'))}

Mymodel.objects.aggregate(**my_aggregate)

аналогично и с фильтром

Вернуться на верх