Невозможно добавить в список
if sample_collected == 'true':
b_id = list(Booking.objects.filter(center__isnull=False,org_type='homedx').values_list('id', flat=True))
for booki_id in b_id:
print("Booking ID", booki_id)
if booki_id in list(ReceivedPackageTubes.objects.values_list('booking_id', flat=True)):
packages = list(Booking.objects.filter(id=booki_id).values_list('packages__name', flat=True))
print("Packages", packages)
count_tube = []
for i in packages:
pt = package_models.PackageTubes.objects.filter(package__name=i).values_list('tubequantity__tube__name', flat=True).count()
count_tube.append(pt)
total_tubes = sum(count_tube)
print("Total Tubes", total_tubes)
collected = list(ReceivedPackageTubes.objects.filter(booking_id=booki_id).values_list('booking_id', flat=True))
print("Collected", collected)
collected_ids = []
if len(collected) == total_tubes:
collected_ids.append(booki_id)
print("Collected ID", collected_ids)
В последней строке, если len(collected) == total_tubes. Я пытаюсь добавить **collected_id**. в collected_ids = []. Каждый раз добавляется один. Я знаю, что нужно использовать цикл for, но у меня не получается. Кто-нибудь может помочь. Я изучаю Python и Django. Спасибо!!!
Вы используете цикл for для перебора booki_id элементов в b_id и добавления их в список collected_ids. Однако каждый раз, когда вы обрабатываете следующий booki_id, вы сбрасываете collected_ids в пустой список. Попробуйте переместить строку:
collected_ids = []
за пределы цикла for, чтобы инициализировать список только один раз и избежать его перезаписи.