This commit is contained in:
2024-05-14 16:58:27 +03:00
parent 2762ac794a
commit 7988103495
13 changed files with 403 additions and 356 deletions

View File

@@ -1,29 +1,26 @@
## Модель статьи
1. **TimeStampedModel:**
- Абстрактная базовая модель для добавления автора, полей времени создания и изменения к другим моделям.
- `created_at`: Дата и время создания объекта.
- `updated_at`: Дата и время последнего обновления объекта.
- `author`: Автор объекта.
- `file_name`: Имя файла объекта.
- Метод `save`: Переопределен для автоматической установки даты создания и обновления.
- Метод `generate_file_url`: Генерирует URL файла.
2. **Images:**
- Модель файлов изображений.
- `file`: Поле для загрузки изображения.
- `history`: Поле для хранения истории изменений.
- Метод `save`: Дополнительно устанавливает имя файла с префиксом "Image_".
- Метод `clean`: Проверяет допустимость формата изображения.
3. **Videos:**
- Модель файлов видео.
- `file`: Поле для загрузки видео.
- `history`: Поле для хранения истории изменений.
- Метод `save`: Дополнительно устанавливает имя файла с префиксом "Video_".
4. **OtherFiles:**
- Модель файлов всех типов документов.
- `file`: Поле для загрузки документа.
- `history`: Поле для хранения истории изменений.
- Метод `save`: Дополнительно устанавливает имя файла с префиксом "Document_".
Добавлены поля к стандартному набору модели.
- **`file_name`** (CharField): Имя файла объекта.
- **Метод `save`**: Переопределен для автоматической установки даты создания и обновления.
- **Метод `generate_file_url`**: Генерирует URL файла.
2. **Images:**
- Модель для файлов изображений.
- **`file`** (ImageField): Поле для загрузки изображения.
- **`history`** (HistoricalRecords): Поле для хранения истории изменений.
- **Метод `save`**: Дополнительно устанавливает имя файла с префиксом "Image_".
3. **Videos:**
- Модель для файлов видео.
- **`file`** (FileField): Поле для загрузки видео.
- **`history`** (HistoricalRecords): Поле для хранения истории изменений.
- **Метод `save`**: Дополнительно устанавливает имя файла с префиксом "Video_".
4. **OtherFiles:**
- **`file`** (FileField): Поле для загрузки видео.
- **`history`** (HistoricalRecords): Поле для хранения истории изменений.
- **Метод `save`**: Дополнительно устанавливает имя файла с префиксом "Document_".
## Валидатор данных
1. **validate_max_file_size:**