Hi the following is my python/django code:
values = Record.objects.filter(record_id__in=[1,2,3], is_main_record=True)
if values .filter(status='open'):
all_item = ['sasi', 'kuttu','vava']
for item in items:
values1 = values.filter(set=mask, status='open')
print values1
jobs = [
{'item': 'A', 'device': 'deviceA', 'log': 'logA'},
{'item': 'A', 'device': 'device1', 'log': 'ptrf1'},
{'item': 'B', 'device': 'deviceb', 'log': 'ptrfb'},
{'item': 'C', 'device': 'devicec', 'log': 'ptrfc'},
]
jobs = []
values = Record.objects.filter(record_id__in=[1,2,3], is_main_record=True)
if values .filter(status='open'):
all_item = ['sasi', 'kuttu','vava']
for mask in all_item:
values1 = values.filter(set=mask, status='open')
for x in values1:
data = {'item' : x.item, 'device':x.device, 'log':x.log}
jobs.append(data)
print jobs
jobs = []
values = Record.objects.filter(record_id__in=[1,2,3], is_main_record=True, status='open', set__in=['sasi', 'kuttu','vava'])
if values.exists():
all_item = ['sasi', 'kuttu','vava']
for mask in all_item:
for x in values:
data = {'item' : x.item, 'device': x.device, 'log': x.log}
jobs.append(data)
print jobs # <--- print here, then you see the whole list
your code is fine, you were just printing inside a loop step which gives you just the momentum value and not the whole list
I have updated the queries, which makes less db queries.