Я использую django -modeltranslation для перевода mo-моделей в DRF
, поэтому я сделал все, что говорит документация django -modeltranslation, и он работает для полей модели
, но Я не могу получить переведенное значение поля выбора
from django.utils.translation import ugettext_lazy as _
class Product(models.Model):
PRODUCT_TYPES = (
('food', _('food')),
('wear', _('wear'))
)
name = models.CharField(verbose_name='Name', max_length=512, blank=True)
product_type = models.CharField('Type', choices=PRODUCT_TYPES, blank=True, null=True, max_length=16, default='food')
поля, такие как product_name
и другие, переведены django -modeltranslation и работают
, но я всегда получаю food
в product_type
я запускаю makemessages и compilemessages
msgid "food"
msgstr "еда"
msgid "wear"
msgstr "одежда"
вызов get_product_type_display не работает
class ProductSerializer(serializers.ModelSerializer):
date = serializers.DateTimeField(read_only=True, format='%d.%m.%Y %H:%M')
product_type = serializers.SerializerMethodField()
class Meta:
model = Product
fields = ('phone_number', 'name', 'total_bonus', 'card_number', 'id', 'count', 'date', 'product_type',
'category')
def get_product_type(self, obj):
return obj.get_product_type_display()