Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то данные.
При работе с основной БД вы часто будете использовать команды:
$ 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
Другие публикации из блога
Что такое сериализация (serialization) в Django?
Сериализация – это механизм перевода моделей Django в другие форматы, обычно текстовые (XML, JSON...).
Более под…
Подробнее
Зачем нужен Makefile?
Makefile – это очень удобная штука, которая облегчит вам жизнь.
Предположим у вас есть проект и для его деплоя…
Подробнее
Как решить проблему с Git: "Commit your changes or stash them before you can merge"
Самый простой способ – отменить локальные изменения:
git reset --hard
или
git checkout -t -f remot…
Подробнее
Чистим Ubuntu Server от мусора
Проверено на Ubuntu Server 20.04
Чистим ненужные пакеты
sudo apt-get --purge autoremove
sudo apt autoclean -y
…
Подробнее
JavaScript fetch с простой HTTP аутентификацией
Самый простой способ протестировать ваш API с базовой аутентификацией (логин, пароль).
Аналогичным образом работ…
Подробнее
Docker контейнер бесконечно перезагружается (Docker Container keeps on restarting again and again)
Проблема:
После билда Docker контейнер работает некоторое время и после уходит в бесконечную перезагрузку.
Решение:…
Подробнее