Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то данные.
При работе с основной БД вы часто будете использовать команды:
$ 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
Другие публикации из блога
Как понять цифры в ошибке 22:7 или 00:00
Предположим, вы получили ошибку вида: 22:7 или 11:17 и т.п. Как понять что означают эти числа?
1-е число – это…
Подробнее
Docker Desktop зависает на запуске "Docker Engine starting..."
Docker Desktop зависает при запуске "Docker Engine starting..."
удалит все образы
wsl --unregister docker-deskt…
Подробнее
Как решить проблему с Git: "Commit your changes or stash them before you can merge"
Самый простой способ – отменить локальные изменения:
git reset --hard
или
git checkout -t -f remot…
Подробнее
Как "сжать" список любой вложенность итеративно в Python?
Подробнее
Как прочитать файл Excel и конвертировать его в json?
pip install pandas openpyxl
# excel_to_json.py
import pandas as pd
import json
df = pd.read_excel(your_ex…
Подробнее
Настройка отправки email в Django для Gmail, Mail.ru и Яндекс почты
Прежде всего добавьте в settings.py вашего проекта:
# EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBack…
Подробнее