36 lines
2.2 KiB
Markdown
36 lines
2.2 KiB
Markdown
## Модель статьи
|
||
1. **TimeStampedModel:**
|
||
Добавлены поля к стандартному набору модели.
|
||
- **`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:**
|
||
- Проверяет, что размер загружаемого файла не превышает максимально допустимый размер.
|
||
- `value`: Параметр, представляющий объект файла.
|
||
- `max_size`: Максимальный размер файла в байтах (здесь установлен на 200 МБ).
|
||
- Если размер файла больше `max_size`, вызывается исключение `ValidationError` с соответствующим сообщением об ошибке.
|
||
## Сериализатор
|
||
|
||
## Маршрутизатор
|
||
|
||
## Контроллер
|