Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то данные.
При работе с основной БД вы часто будете использовать команды:
$ 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
Другие публикации из блога
Как удалить удалить содержимое папки в Python?
from pathlib import Path
import shutil
shutil.rmtree('/path/to/your/folder', ignore_errors=True)
Path('/path/to/…
Подробнее
Как включить предложения пароля браузером в input полях?
Желательно, но не обязательно чтобы <input type="password"> находились внутри тегов <form>, в остальном дос…
Подробнее
Выбор последнего элемента в цикле v-for во Vue.js
1. Выбор всех элементов кроме последнего в цикле v-for
2. Выбор только последнего в цикле v-for
Подробнее
Как создать virtualenv с разными версиями Python в Windows
Прежде всего у вас должны быть установлены разные версии Python в системе + virtualenv.
Ниже пример создания виртуал…
Подробнее
Ошибка Docker-compose ERROR [internal] booting buildkit при билде
Желательно что бы Docker был установлен через snap. Для решения проблемы попробуйте обновить snap Docker до последней…
Подробнее
Что такое сериализация (serialization) в Django?
Сериализация – это механизм перевода моделей Django в другие форматы, обычно текстовые (XML, JSON...).
Более под…
Подробнее