бегаю миграции на сервере таким образом:Предотвращение FieldDoesNotExist в Django приложение на рабочем сервере во время миграции
- Загрузить models.py файл на сервер с некоторым новым полем
sfield
им моделиMobject
- Выполните команду makemigration в manage.py
- выполнить команду migrate в manage.py Но есть некоторые запросы между окончанием первого шага и окончанием третьего шага, которые не удались с
django.core.exceptions.FieldDoesNotExist: Mobject has no field named 'sfield'
(что очевидно, потому что django ORM не может извлечь это поле из БД но поле уже в Кла ss, поэтому django попытается это сделать)
Можно ли сделать все 3 шага «Atomic»? Или глобальное игнорирование этих исключений, потому что на данный момент мне не нужен sfield
, я хочу выполнить миграцию без исключений. Или может быть, я могу временно отметить новое поле каким-то образом, чтобы предотвратить извлечение django из базы данных, но он должен быть видимым для makemigrations/migrate?
Спасибо, да, я согласен - локальный сервер разработки - это правильный подход для создания миграции, но, как вы упомянули, это не решит проблему, это уменьшит шаги миграции сервера до 2: 'Upload' и' migrate', но все равно может потребоваться некоторая просьба. Только интересная вещь, благодаря вашему мнению, я также нашел 'defer', я тоже попробую. – user3479125
@ user3479125 приятно, удачи! ;) – doniyor