django-modelstranslation запасное значение исходного поля
У меня есть большое приложение Django, которое активно используется интернет-пользователями. Я пытаюсь добавить django-modeltranslation в одно из моих приложений. В разработке все работает нормально со следующей процедурой:
- Установите django-modeltranslation и сделайте правильные изменения модели.
- Создайте для этого южную миграцию
python manage.py schemamigration myapp --auto
- Применить миграцию
python manage.py migrate myapp
- Запустите команду управления django-modeltranslation, чтобы заполнить язык по умолчанию из исходного поля
python manage.py update_translation_fields
У меня проблема между пунктами 3 и 4. Если я запустил миграцию в рабочей среде, то переведенная модель не будет показывать контент пользователю (у меня не может быть простоя), пока я не выполню номер 4, что может занять некоторое время. заканчивать.
Хотелось бы узнать, есть ли способ откатить перевод на исходное содержание поля без перевода. Это откат к другому откату перевода и доступ к оригинальному полю оригинала. Но мне нужно, чтобы в поле модели по умолчанию использовалось исходное значение поля, если перевода нет.
Спасибо
2 ответа
- Клонируйте производственную базу данных в промежуточную среду.
- Применить миграцию в постановке.
Убедитесь, что все работает в постановке.
Тогда либо:
а. Направьте конфигурацию сети на промежуточную настройку, настройте производство на досуге и переконфигурируйте сеть обратно (0 простоев).
б. Обновите производственную среду в реальном времени с помощью необходимых пакетов и скопируйте базу данных из промежуточной среды в рабочую среду (минимальное время простоя).
Я смог решить это без необходимости клонировать базы данных. То, что я сделал, было:
- Разверните версию с миграцией, но без фактических изменений перевода django-модели.
- Запустите миграцию. Это добавит несколько полей к переведенной модели, но код все равно будет указывать на исходное поле.
- запустить команду управления
python manage.py update_translation_fields
, Это клонирует исходные значения поля в языковое поле по умолчанию. - Разверните более новую версию кода с изменениями django-modeltranslation.