Django: Только первое изображение попадает в базу данных при каждом экземпляре pickd, хотя все изображения правильно считываются с листа excel

Привет ребята, у меня проблема с извлечением ссылок на изображения из листа excel и сохранением в базу данных в django. Проблема в том, что хотя все ссылки на изображения извлекаются правильно, только первое изображение попадает в базу данных. Например, если Picked является моделью, а PickedImage имеет внешний ключ к Picked. то даже после извлечения всех изображений, только первое изображение попадает в базу данных. если я предоставляю 6 различных изображений в PickedImage для одного экземпляра Picked. Остальные изображения находятся в списке, но не сохраняются в базе данных, вместо этого первое изображение будет сохранено 6 раз.

Вот код, может кто-нибудь помочь.

for pickd in data['pickd']: # loop to create pickd image model instance
if pickd['title'] is None or pickd['title'] == '':
    continue
i += 1
try:
                
    if pickd['image1'] is not None:
        bulk_image.append(Image(picks=instance[i], images=downloadImage(pickd['image1'], pickd['title']).open(mode='rb'), main=True))
    if pickd['image2'] is not None:
        bulk_image.append(Image(picks=instance[i],images=downloadImage(pickd['image2'], pickd['title']).open(mode='rb')))
    
    if pickd['image3'] is not None:

        bulk_image.append(Image(picks=instance[i],images=downloadImage(pickd['image3'], pickd['title']).open(mode='rb')))

    
    if pickd['image4'] is not None:

        bulk_image.append(Image(picks=instance[i],images=downloadImage(pickd['image4'], pickd['title']).open(mode='rb')))

    if pickd['image5'] is not None:

        bulk_image.append(Image(picks=instance[i],images=downloadImage(pickd['image5'], pickd['title']).open(mode='rb')))

    if pickd['image6'] is not None:

        bulk_image.append(Image(picks=instance[i],images=downloadImage(pickd['image6'], pickd['title']).open(mode='rb')))

except Exception as e:
    continue

try:
    images = Image.objects.bulk_create(bulk_image)
except:
    raise ValidationError("")



def downloadImage(url, Name):
""" Method to download images from a given url """
try:
    image = requests.get(url, stream=True).content

    with File(open(f'{Name}.jpg', 'wb')) as handler:
        handler.write(image)
    with handler.open(mode='rb') as nana:
        pass
except Exception as e:
    raise ValueError(e)
return handler
Вернуться на верх