Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то данные.
При работе с основной БД вы часто будете использовать команды:
$ 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
Другие публикации из блога
Как сгенерировать рандомные цвета RGB\HEX в JS?
Выбор случайного цвета из набора
Генерируем случайный цвет в формате RGB
Генерируем случайный цвет в формате …
Подробнее
Как проверить позицию бита в числе с помощью Python?
Понимание установлен ли бит в определенной позиции двоичного числа (репрезентации целого числа в двоичной системе) явля…
Подробнее
Django\Nginx 403 Forbidden Error при доступе к media
Скорее всего ошибка возникает из-за неверных прав доступа к папке media и её поддиректориям. Исправляется командой:
…
Подробнее
Как выбрать текущего пользователя в поле ForeignKey в админке Django по-умолчанию
Предположим у вас есть модель которая ассоциируется с каким-то пользователем через поле ForeignKey. По-умолчанию в спис…
Подробнее
Ошибка Docker-compose ERROR [internal] booting buildkit при билде
Желательно что бы Docker был установлен через snap. Для решения проблемы попробуйте обновить snap Docker до последней…
Подробнее
Шифр Цезаря на Python
Более подробное описание в статье Build a Caesar Cipher in Python
Подробнее