0

我有一个场景,每次我从模型中执行 objects.filter 时,我都必须在查询中指定语言。出于翻译目的,我必须将 request.LANGUAGE_CODE 作为必填字段发送。

在我的模型.py

class ModelA(models.Model):
  field_a   = models.CharField(max_length=1, choices=_statuses, default=_default_status)
  field_b   = models.ForeignKey(ModelLookup, )
  language  = None

  def i18n(self):
        return self.model.modellookupi18n_set.values_list('make_display', 'model_display', 'trim_display').get(language=self.language)

例如,当我运行 ModelA.objects.filter() 时,有没有办法让我指定语言值,如果可能的话,我可以将它作为链式参数传递,否则类将无法运行。

4

1 回答 1

2

您可以通过get_language() 方法从django.utils.translations获取活动语言:

from django.utils.translations import get_language
currentLanguage = get_language()

这是使用语言的正确方法。

于 2012-11-04T17:35:06.647 回答