Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то данные.
При работе с основной БД вы часто будете использовать команды:
$ 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 Rest Framework GenericViewSet
Фактически нам нужно переопределить метод get_serializer_class() и с помощью условий добавить разные сериализаторы для …
Подробнее
Как получить данные из url без модуля requests в Python
from urllib.request import urlopen, Request
url = 'https://jsonplaceholder.typicode.com/posts'
# url = 'https://g…
Подробнее
Django не отображает статических файлов в режиме DEBUG=False
Для решения проблемы используйте --insecure
python manage.py runserver --insecure
или
django-admin runserver -…
Подробнее
Как удалить удалить содержимое папки в Python?
from pathlib import Path
import shutil
shutil.rmtree('/path/to/your/folder', ignore_errors=True)
Path('/path/to/…
Подробнее
Зачем использовать yarn когда есть npm?
Npm не всегда работает без сбоев, при установке пакетов могут возникать ошибки, кроме того он качает пакеты по очереди.…
Подробнее
Как обновить все пакеты в node.js?
Установите npm-check-updates:
npm i -g npm-check-updates
Далее будут доступны команды:
ncu -u
npm insta…
Подробнее