У меня есть проект django, в котором определены несколько моделей, и у каждой модели есть некоторый набор полей с полями выбора. Эти значения отображаются в шаблоне с помощью цикла. У меня определено несколько языков, и с помощью ugettext_lazy я могу показать переведенное значение в соответствии с языком, выбранным пользователем.
Теперь я пытаюсь переместить эти значения в базу данных, получить их и использовать в ugettext_lazy дляперевод. например, _ (value_from_db)
Проблема в том, что при использовании из базы данных значение не переводится, тогда как при использовании его в качестве жесткого кода, например, _ ("translation_val")
models.py
from django.utils.translation import ugettext_lazy as _
from translated_fields import TranslatedField
class ModelClass(models.Model):
choices_values = (
(dataframe[(dataframe['name'] == 'State1')]['code'].item(), _("State1")),
(dataframe[dataframe['name'] == 'State2']['code'].item(), _(dataframe[dataframe['name'] == 'State2']['value'].item())),
(State3, _("State3"))
)
В приведенном выше примере перевод работает правильно для State1, State3, но не для State2.
Я ожидаю, что State2 будет переведен в мой шаблон.
PS Все операции перевода были выполнены правильно и работают (если я заменю выборку кадра данных для state2 жестко закодированным значением, это даст правильный перевод, а также кадр данных получит то же значение, что иодин я жестко запрограммировал)
Спасибо за помощь.