Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то данные.
При работе с основной БД вы часто будете использовать команды:
$ 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?
Добавьте в admin.py следующие строки:
Пустые поля в CharField, TextField etc
@admin.register(YourModel)
class …
Подробнее
Как решить проблему с Git: "Commit your changes or stash them before you can merge"
Самый простой способ – отменить локальные изменения:
git reset --hard
или
git checkout -t -f remot…
Подробнее
Проблемы с file-loader в Webpack 5
file-loader не работает в Webpack 5, замените его на:
{
test: /\.(gif|png|jpe?g|svg)$/i,
type: 'asset/re…
Подробнее
Ошибка 403 CSRF Protection при входе в админку Django 4.*
При попытке входа в админку Django 4.* возникает 403-я ошибка CSRF Protection.
Согласно списку изменений CSRF_TRUSTE…
Подробнее
Проверить принадлежность пользователя к группе в Django
Принадлежит к одной группе:
<объект_пользователя>.groups.filter(name='Имя_группы').exists()
Принадлежит к группам…
Подробнее
Как получить доступ к переменным .env в plugins Nuxt 3?
// plugins/my-plugin.js
export default defineNuxtPlugin(nuxtApp => {
nuxtApp.$config.public.YOUR_VARIABLE_FRO…
Подробнее