Как вывести фильтр и агрегацию в отдельную переменную, в джанго
Пытаюсь сделать запрос в джанге вида:
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)
аналогично и с фильтром