Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то данные.
При работе с основной БД вы часто будете использовать команды:
$ django-admin migrate ...
$ django-admin flush
Эти команды непосредственно влияют на структуру и содержимое БД, migrate – синхронизирует базу с миграциями, flush – удаляет все данные из таблиц.
managed = False
исключает БД из влияния на нее миграций и очистки таблиц т.е. вы можете выполнять эти действия не опасаясь за сохранность существующих данных и структуры существующей базы. В остальном Django работает с этими моделями в привычном режиме.
class YourModel(models.Model):
name = models.CharField(max_length=255)
class Meta:
managed = False
Другие публикации из блога
Как очистить весь кеш в Django?
from django.core.cache import cache
cache.clear()
Подробнее
Ошибка Docker-compose ERROR [internal] booting buildkit при билде
Желательно что бы Docker был установлен через snap. Для решения проблемы попробуйте обновить snap Docker до последней…
Подробнее
Проблемы с file-loader в Webpack 5
file-loader не работает в Webpack 5, замените его на:
{
test: /\.(gif|png|jpe?g|svg)$/i,
type: 'asset/re…
Подробнее
Проблема при билде Docker: ERROR [internal] booting buildkit
При попытке билда образа Docker возникает ошибка подобного вида:
docker-compose up -d
[+] Building 26.1s (1/1) …
Подробнее
Настраиваем MeTube
Для начала ознакомьтесь с документацией проекта https://github.com/alexta69/metube.
Вам понадобится Docker Desktop и…
Подробнее
При билде Docker-контейнера выдает: WARNING: Running pip as the 'root' user
Самый простой способ избавиться от warning'a - это добавить в Dockerfile строку:
ENV PIP_ROOT_USER_ACTION=ignore
…
Подробнее