diff --git a/myproject/products/views/utils.py b/myproject/products/views/utils.py index 3f5e1a9..532f79d 100644 --- a/myproject/products/views/utils.py +++ b/myproject/products/views/utils.py @@ -37,14 +37,18 @@ def handle_photos(request, parent_obj, photo_model, parent_field_name): Список сообщений об ошибках (пустой список если все ок). """ errors = [] + warnings = [] photos = request.FILES.getlist('photos') if not photos: return errors - if len(photos) > 10: - errors.append('Можно загрузить не более 10 фотографий.') - return errors + # МАКСИМУМ 10 ФОТО - сохраняем первые 10, остальные отклоняем + MAX_PHOTOS = 10 + if len(photos) > MAX_PHOTOS: + warnings.append(f'Загружено {len(photos)} фото, но обработано только первые {MAX_PHOTOS}. ' + f'Максимум {MAX_PHOTOS} фото на товар.') + photos = photos[:MAX_PHOTOS] # Получаем максимальный order для этого родительского объекта filter_kwargs = {parent_field_name: parent_obj} @@ -70,4 +74,6 @@ def handle_photos(request, parent_obj, photo_model, parent_field_name): photo_model.objects.create(**create_kwargs) next_order += 1 + # Добавляем warnings в errors для отображения пользователю + errors.extend(warnings) return errors