Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то данные.
При работе с основной БД вы часто будете использовать команды:
$ 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
Другие публикации из блога
Кастомная 404 страница в Django 3.xx
Большинство туториалов в сети по запросу "how to create custom 404 page in Django" некорректны, т.к. мало где указывают…
Подробнее
Разница между операторами "is" и "==" в Python
Оба оператора is и == предназначены для сравнения объектов в Python.
Оператор == сравнивает два значения.
Операто…
Подробнее
В чем отличие ref() от reactive() во Vue?
Идея в том что ref() задумывался для обозначения реактивных примитивов, а reactive() для реактивных объектов.
cons…
Подробнее
Как очистить весь кеш в Django?
from django.core.cache import cache
cache.clear()
Подробнее
В чем отличие User от AUTH_USER_MODEL и от get_user_model в Django?
Все это на первый взгляд похожие способы обратиться к модели пользователя, но между ними есть ряд различий.
1. User
…
Подробнее
Django template первый\последний объекты цикла
Для выбора первого или последнего объектов в цикле for шаблонизатора Django используется следующий синтаксис:
{% f…
Подробнее