Обведите два списка и добавьте элементы в модель Django - PullRequest
0 голосов
/ 25 июня 2019

У меня есть два списка A и B:

truck_objects:

[<truck_name: Tempo 407 1500>, <truck_name: Tempo 407 1500>]

master_values:

[{<Truckdb: Truckdb object (136)>: [<ItemBatch: Iphone>, <ItemBatch: Iphone>, <ItemBatch: Iphone>]}, {<Truckdb: Truckdb object (254)>: [<ItemBatch: Iphone>, <ItemBat
ch: Iphone>, <ItemBatch: Iphone>]}]

Я перебрал их обоих и попытался сохранить список в словарях для модели.

Список, который я хочу сохранить:

[<ItemBatch: Iphone>, <ItemBatch: Iphone>, <ItemBatch: Iphone>]

Код:

for i in range(len(truck_objects)):
    for j in range(len(master_values)):

        if i==j:
            DispatchPlan.objects.create(truck_name=truck_objects[i],items=master_values[something here])

Как я могу это сделать? чем заменить слово «что-то здесь», чтобы получить список?

1 Ответ

2 голосов
/ 25 июня 2019

Ты бы так не сделал.Не только крайне неэффективно иметь этот вложенный цикл, в Python вы почти никогда не должны перебирать range(len(something)), но всегда непосредственно над чем-то.

В этом случае вы должны сжать списки вместе и перебратьрезультат:

for truck, master in zip(truck_objects, master_values):
    DispatchPlan.objects.create(truck_name=truck, items=master)
...