Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то данные.
При работе с основной БД вы часто будете использовать команды:
$ 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
Принадлежит к одной группе:
<объект_пользователя>.groups.filter(name='Имя_группы').exists()
Принадлежит к группам…
Подробнее
Django template первый\последний объекты цикла
Для выбора первого или последнего объектов в цикле for шаблонизатора Django используется следующий синтаксис:
{% f…
Подробнее
Проблема при билде Docker: ERROR [internal] booting buildkit
При попытке билда образа Docker возникает ошибка подобного вида:
docker-compose up -d
[+] Building 26.1s (1/1) …
Подробнее
Копировать текст в буфер обмена с помощью JS
See the Pen
Untitled by Denis (@m5dev)
on CodePen.
Подробнее
Как переопределить вывод --------- в админке Django?
Добавьте в admin.py следующие строки:
Пустые поля в CharField, TextField etc
@admin.register(YourModel)
class …
Подробнее
Зачем использовать yarn когда есть npm?
Npm не всегда работает без сбоев, при установке пакетов могут возникать ошибки, кроме того он качает пакеты по очереди.…
Подробнее