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