Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то данные.
При работе с основной БД вы часто будете использовать команды:
$ 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
Другие публикации из блога
Как выгрузить\восстановить базу данных PostgreSQL из Docker-контейнера
Выгрузить SQL дамп базы
docker exec -i pg_container_name /bin/bash -c "PGPASSWORD=pg_password pg_dump --username p…
Подробнее
В чем разница между Aggregation и Annotation в Django
Aggregation - обрабатывает все результаты запроса (queryset).
Предположим мы хотим получить среднюю цену всех товаро…
Подробнее
Кастомная 404 страница в Django 3.xx
Большинство туториалов в сети по запросу "how to create custom 404 page in Django" некорректны, т.к. мало где указывают…
Подробнее
Django template индексы в цикле
Для вывода индексов объектов в цикле шаблона Django используется следующий синтаксис:
{% for object in objects_lis…
Подробнее
Как получить данные из url без модуля requests в Python
from urllib.request import urlopen, Request
url = 'https://jsonplaceholder.typicode.com/posts'
# url = 'https://g…
Подробнее
В чем отличие User от AUTH_USER_MODEL и от get_user_model в Django?
Все это на первый взгляд похожие способы обратиться к модели пользователя, но между ними есть ряд различий.
1. User
…
Подробнее