Django gettext 无法与 django rest 正常工作

Django gettext not working properly with django rest

提问人:Karim Bourahla 提问时间:8/12/2023 更新时间:8/12/2023 访问量:21

问:

我在使用 ModelSerializer 时遇到了一些奇怪的 gettext 错误,我无法获得所有选项的翻译字符字段选项,有些选项有效,但其他选项无效,我什至尝试运行另一个命令,但结果相同不一致。 这是有问题的字段makemessages

status= models.CharField(
          max_length=50,
          default="pending",
          choices=[
              ('pending', _('Pending')),
              ('initiated', _('Initiated')),
              ('completed', _('Completed'))
          ]
      )
django django-rest-framework gettext

评论


答:

0赞 Karim Bourahla 8/12/2023 #1

解决这个问题的方法是使用这样的东西可以正常工作:get_FieldName_display()

status = serializers.SerializerMethodField()

def get_status(self, instance):
    from django.utils.translation import gettext as _
    return _(instance.get_status_display())

这可能是因为我使用的是 Windows :)