country_1, 100 country_2, 200 country_3, 300
country_1, 111 country_2, 222 country_3, 333
country_1, 101 country_2, 202 country_3, 303
country_1, 100, 111, 101 country_2, 200, 222, 202 country_3, 300, 333, 303
благодарю заранее
country_1, 100 country_2, 200 country_3, 300
country_1, 111 country_2, 222 country_3, 333
country_1, 101 country_2, 202 country_3, 303
country_1, 100, 111, 101 country_2, 200, 222, 202 country_3, 300, 333, 303
def function(request): iteration_result = "i_01" 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)

gtlhbkkjну и зачем тогда этот цикл? Сначала вы фильтруете в цикле, а потом объединяете выборки. Так не фильтруйте, не надо будет объединять.
в цикле меняется вот этот параметр iteration_result и получается несколько кверисетов с одинаковой структурой и разными данными.
FishHook
ну и зачем тогда этот цикл?
def function(request): #iteration_result = "i_01" qs = AnotherTable.objects.all() 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=[q.code for q in qs], )
| id | city_id | population |
for city_id in (1, 2, 3): population = Population.objects.filter(city_id=city_id)
population = Population.objects.filter(city_id__in=(1, 2, 3))
FishHook
и не надо будет ничего объединять
).filter(id_nr_f__ie_code__unomer_f__nomer=("i_01"),
).filter(id_nr_f__ie_code__unomer_f__nomer=("i_01", "i_02"),
FishHookясно, благодарю вас за ваше время. Это не совсем то.
gtlhbkkj
внимательно посмотрите на пример, который я дал и вы увидите один маленький нюанс
country_1, 100, 111, 101
country_2, 200, 222, 202
country_3, 300, 333, 303