2.6 KiB
2.6 KiB
Модель статьи
- TimeStampedModel:
- Абстрактная базовая модель для добавления автора, полей времени создания и изменения к другим моделям.
created_at: Дата и время создания объекта.updated_at: Дата и время последнего обновления объекта.author: Автор объекта.file_name: Имя файла объекта.- Метод
save: Переопределен для автоматической установки даты создания и обновления. - Метод
generate_file_url: Генерирует URL файла.
- Images:
- Модель файлов изображений.
file: Поле для загрузки изображения.history: Поле для хранения истории изменений.- Метод
save: Дополнительно устанавливает имя файла с префиксом "Image_". - Метод
clean: Проверяет допустимость формата изображения.
- Videos:
- Модель файлов видео.
file: Поле для загрузки видео.history: Поле для хранения истории изменений.- Метод
save: Дополнительно устанавливает имя файла с префиксом "Video_".
- OtherFiles:
- Модель файлов всех типов документов.
file: Поле для загрузки документа.history: Поле для хранения истории изменений.- Метод
save: Дополнительно устанавливает имя файла с префиксом "Document_".
Валидатор данных
- validate_max_file_size:
- Проверяет, что размер загружаемого файла не превышает максимально допустимый размер.
value: Параметр, представляющий объект файла.max_size: Максимальный размер файла в байтах (здесь установлен на 200 МБ).- Если размер файла больше
max_size, вызывается исключениеValidationErrorс соответствующим сообщением об ошибке.