django-modelstranslation fallback valor do campo original

Eu tenho um grande aplicativo Django que é usado ativamente por usuários da Internet. Eu estou tentando adicionar o django-modeltranslation a um dos meus aplicativos. No desenvolvimento tudo funciona bem com o seguinte procedimento:

  1. Instale o django-modeltranslation e faça as alterações apropriadas no modelo.
  2. Crie a migration para o sul para python manage.py schemamigration myapp --auto
  3. Aplique a migration python manage.py migrate myapp
  4. Execute o comando de gerenciamento django-modeltranslation para preencher o idioma padrão do python manage.py update_translation_fields campo original python manage.py update_translation_fields

O problema que tenho é entre o item 3 e 4. Se eu executar a migration na produção, o modelo traduzido não mostrará conteúdo para o usuário (não posso ter tempo de inatividade) até que eu execute o número 4, o que pode levar algum tempo terminar.

Gostaria de saber se existe uma maneira de replace uma tradução para o conteúdo original do campo sem tradução. Este fallbacks para outro fallback de tradução e isso acessa o campo original original . Mas eu preciso que o campo do modelo seja padronizado para o valor do campo original se a tradução não estiver presente.

Obrigado

  1. Clone o database de produção em um ambiente de preparação.
  2. Aplique a migration no teste.
  3. Verifique se tudo funciona no teste.

  4. Qualquer então:

    uma. Aponte a configuração de rede para a preparação, configure a produção como quiser e reconfigure a rede de volta (0 tempo de inatividade).

    b. Atualize o ambiente de produção ao vivo com os pacotes necessários e copie o database do ambiente de preparação para produção (tempo de inatividade mínimo).

Consegui resolver isso sem a necessidade de clonar os bancos de dados. O que eu fiz foi:

  1. Implemente uma versão com a migration, mas sem as mudanças reais na modalidade do django.
  2. Execute a migration. Isso adicionará vários campos ao modelo traduzido, mas o código ainda apontará para o campo original.
  3. execute o comando de gerenciamento python manage.py update_translation_fields . Isso irá clonar os valores do campo original para o campo de idioma padrão.
  4. Implemente uma versão mais nova do código com as alterações do django-modeltranslation.