У меня есть Integer ModelField с набором вариантов выбора.
field = models.IntegerField(choices=CHOICES_CONSTANT)
Этот CHOICES_CONSTANT
определен в другом файле и импортирован
CHOICES_CONSTANT = (
(0, _('One')),
(1, _('Two')),
...
)
_
от from django.utils.translation import ugettext_lazy as _
, так как поле модели требует от вас ленивых переводов.
Я также импортирую CHOICES_CONSTANT
в другие файлы (например, отчеты), где в отчете я могу сказать str(dict(CHOICE_CONSTANT)[object.field]) if object.field else ''
.
Этот str(dict(CHOICES_CONSTANT)[object.field]) if object.field else ''
не переводится. На самом деле, если я просто print(CHOICES_CONSTANT)
, он сразу оценивает язык по умолчанию (Engli sh).
В других местах я бы сделал object.get_field_display()
, и это тоже не переводится.
Любая помощь будет высоко ценится.