Миграции
Файлы миграции – это своего рода система контроля версий для моделей.
Любые изменения в структуре модуля отражаются в файле миграции.
Команда | Описание |
---|---|
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