Как установить значение исходного поля с помощью django modeltranslation?

Я добавлял переводы моделей на немецкий язык с помощью django-modeltranslation и обнаружил, что случайно установил оригинальные значения полей (которые должны быть на английском языке) на немецкий. Так что теперь в базе данных у меня есть:

  • name: Немецкое значение (должно быть английское)
  • name_en: английский язык (правильный)
  • name_de: Немецкий (правильно)

Есть ли способ скопировать значения name_en в name либо в Python, либо непосредственно в PostgreSQL? Я прочитал правила доступа/чтения , но я не уверен на 100%, как они влияют на то, что я хочу сделать.

Нашел решение, как исправить это, не переходя на уровень БД.

from django.utils.translation import activate


activate('en')

for x in Model.objects.all():
    setattr(x, 'name', x.name)
    x.save()
Вернуться на верх