Я передаю разные похожие наборы запросов в шаблон. Например. qset01, qset02, ... qset10. Количество наборов запросов известно и может быть перенесено. Как я могу получить доступ к этим наборам запросов в шаблоне в цикле на том же уровне итерации. Когда я повторяю один запрос, код выглядит так:
{% for i in qset01 %}
{{i.field_01}}
{% endfor %}
Как это будет выглядеть для многих наборов запросов? Это то, что мне нужно
{% for more_complex_iteration %}
{{qset01.field_01}}, {{qset02.field_01}}, ... {{qset09.field_01}}
{% endfor %}
В качестве альтернативы можно объединить несколько наборов запросов. Но я не знаю как. qset01 имеет данные
country_1, 100
country_2, 200
country_3, 300
qset02 имеет данные
country_1, 111
country_2, 222
country_3, 333
qset03 имеет данные
country_1, 101
country_2, 202
country_3, 303
окончательный набор запросов должен иметь эти данные
country_1, 100, 111, 101
country_2, 200, 222, 202
country_3, 300, 333, 303
view.py
def function(request):
iteration_result = "i_01" #this is the first iteration result only
#from ["i_01","i_02", ... "i_09"]
qset1 = BigTable.objects.values(
'deb_nr_f__dcountry__wcode_f__code',
'deb_nr_f__dcountry__wcode_f__code_name',
).annotate(
tmp_code=F('deb_nr_f__dcountry__wcode_f__code'),
tmp_descr=F('deb_nr_f__dcountry__wcode_f__code_name')
).values('tmp_code','tmp_descr'
).order_by('-abs_2016__sum'
).annotate(
abs_2016__sum=Sum('abs_2016'),
).filter(id_nr_f__ie_code__unomer_f__nomer=iteration_result,
)
Определение модели
class BigTable(models.Model):
deb_nr_f = models.ForeignKey(Debitor, on_delete=models.CASCADE, related_name='debitor_fnr', verbose_name='Debitor FNr', blank=True, null=True)
id_nr_f = models.ForeignKey(Material, on_delete=models.CASCADE, related_name='material', verbose_name='Material', blank=True, null=True)
abs_2016 = models.IntegerField('Abs. 2016', default=0)
abs_2017 = models.IntegerField('Abs. 2017', default=0)
abs_2018 = models.IntegerField('Abs. 2018', default=0)
abs_2019 = models.IntegerField('Abs. 2019', default=0)
abs_2020 = models.IntegerField('Abs. 2020', default=0)
Я бы хотел ОТДЕЛЬНО отфильтровать таблицу с помощью числа (9) различных «фильтрующих» запросов. Мне нужен один последний Queryset, такой как этот, где каждый столбец (кроме первого) является результатом 9 отдельных запросов «filter».
country_1, 100, 111, 101
country_2, 200, 222, 202
country_3, 300, 333, 303