Команды manage.py
| Команда | Описание |
django-admin startproject config . | Создать проект Django в текущей папке |
python manage.py runserver | Запустить сервер разработки (127.0.0.1:8000) |
python manage.py startapp myapp | Создать новое приложение |
python manage.py makemigrations | Создать файлы миграций по изменениям в моделях |
python manage.py migrate | Применить все не применённые миграции |
python manage.py showmigrations | Показать список миграций и их статус |
python manage.py createsuperuser | Создать суперпользователя для admin |
python manage.py shell | Запустить интерактивную Django-оболочку |
python manage.py dbshell | Подключиться к БД через консоль |
python manage.py check | Проверить проект на ошибки конфигурации |
pip freeze > requirements.txt | Зафиксировать зависимости проекта |
pip install -r requirements.txt | Установить зависимости из файла |
Поля моделей — шпаргалка
Строковые поля
| Поле | Применение | Ключевые параметры |
CharField | Короткие строки до 255 символов | max_length (обязателен) |
TextField | Длинные тексты без ограничения | — |
EmailField | Email-адреса с валидацией | max_length=254 |
SlugField | URL-метки (буквы, цифры, дефисы) | max_length, allow_unicode |
URLField | URL-адреса с валидацией | max_length=200 |
Числовые поля
| Поле | Диапазон / Применение |
IntegerField | Целые числа |
BigIntegerField | Большие целые числа |
PositiveIntegerField | Положительные целые (>= 0) |
PositiveSmallIntegerField | Положительные малые (0–32767) |
SmallIntegerField | Малые целые (-32768 до 32767) |
FloatField | Числа с плавающей запятой |
DecimalField | Десятичные с фиксированной точностью. Параметры: max_digits, decimal_places |
BigAutoField | Авто-инкремент PK (рекомендуется) |
Прочие поля
| Поле | Применение |
BooleanField | True / False |
DateField | Дата (без времени). auto_now, auto_now_add |
DateTimeField | Дата + время |
FileField | Загрузка файлов. upload_to |
ImageField | Загрузка изображений (требует Pillow) |
UUIDField | UUID-идентификаторы |
ForeignKey | Связь многие-к-одному. on_delete обязателен |
ManyToManyField | Связь многие-ко-многим. Создаёт промежуточную таблицу |
OneToOneField | Связь один-к-одному. on_delete обязателен |
Параметры on_delete (для связей)
| Параметр | Поведение при удалении связанного объекта |
CASCADE | Удалить зависимые объекты |
SET_NULL | Установить NULL (требует null=True) |
SET_DEFAULT | Установить значение default |
PROTECT | Запретить удаление (поднять ProtectedError) |
DO_NOTHING | Ничего не делать (может нарушить целостность) |
Admin — быстрый справочник
| Атрибут ModelAdmin | Описание |
list_display | Поля в списке объектов |
search_fields | Поля для поиска |
list_filter | Фильтры в боковой панели |
ordering | Сортировка по умолчанию |
readonly_fields | Поля только для чтения |
fields / fieldsets | Порядок и группировка полей в форме |