Улучшение системы работы с фото: добавлена команда очистки битых записей и оптимизация обработки изображений
This commit is contained in:
@@ -461,13 +461,16 @@ class ProductImporter:
|
||||
if not urls:
|
||||
return
|
||||
|
||||
# Проверяем есть ли уже главное фото
|
||||
has_main = product.photos.filter(is_main=True).exists()
|
||||
|
||||
# Создаём задачи для каждого URL
|
||||
for idx, url in enumerate(urls):
|
||||
# FIX: ProductPhoto не имеет is_main, используется только order
|
||||
task = {
|
||||
'product_id': product.id,
|
||||
'url': url,
|
||||
'order': idx, # Первое фото (order=0) автоматически главное
|
||||
'order': idx,
|
||||
'is_main': (idx == 0 and not has_main) # Первое фото главное только если еще нет главного
|
||||
}
|
||||
self.photo_tasks.append(task)
|
||||
|
||||
@@ -503,6 +506,9 @@ class ProductImporter:
|
||||
if not urls:
|
||||
return
|
||||
|
||||
# Проверяем есть ли уже главное фото
|
||||
has_main = product.photos.filter(is_main=True).exists()
|
||||
|
||||
# Скачиваем и сохраняем каждое изображение
|
||||
for idx, url in enumerate(urls):
|
||||
try:
|
||||
@@ -515,10 +521,10 @@ class ProductImporter:
|
||||
filename = parsed_url.path.split('/')[-1]
|
||||
|
||||
# Создаём ProductPhoto
|
||||
# FIX: ProductPhoto не имеет is_main, используется только order
|
||||
photo = ProductPhoto(
|
||||
product=product,
|
||||
order=idx # Первое фото (order=0) автоматически главное
|
||||
order=idx,
|
||||
is_main=(idx == 0 and not has_main) # Первое фото главное только если еще нет главного
|
||||
)
|
||||
|
||||
# Сохраняем файл
|
||||
|
||||
Reference in New Issue
Block a user