我有一个场景,每当我从model中执行objects.filter时,我必须在查询中指定语言。出于翻译目的,我必须将request.LANGUAGE_CODE作为必填字段发送。
在我的model.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()时,有没有办法指定语言值,如果可能的话我可以将它作为链式参数传递,否则类无法运行。
答案 0 :(得分:2)
您可以从django.utils.translations到get_language() method获取有效语言:
from django.utils.translations import get_language
currentLanguage = get_language()
这是使用语言的正确方法。