Link Search Menu Expand Document

Миграции

Файлы миграции – это своего рода система контроля версий для моделей.

Любые изменения в структуре модуля отражаются в файле миграции.

КомандаОписание
python3 manage.py makemigrationsСоздание миграций
python3 manage.py sqlmigrate news 0001Просмотр SQL запроса для создания миграции
python3 manage.py migrate Выполнение миграций

Для создания папок для статичных файлов (например для поля ImageField) необходимо дописать следующий код в файл settings.py:

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

Для отладочных целей необходимо добавить в файл urls.py в настройках сайта следующий код:

from django.conf import settings
from django.conf.urls.static import static

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Этим мы формируем маршрут в отладочном режие и по этому маршруту Django контроллер будет отдавать необходимые медиафайлы

Сброс миграций в проекте

python manage.py migrate app zero --fake
git rm "app/migrations/*"
python manage.py makemigrations app
python manage.py migrate app --fake