Я использую 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()