2012-11-04 73 views
0

我有一個場景,我必須在每次從模型執行objects.filter時在我的查詢中指定語言。爲了翻譯目的,我必須將request.LANGUAGE_CODE作爲必填字段發送。django以編程方式將變量附加到模型

在我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(),如果可能的話,我把它作爲一個鏈接參數否則類無法運行。

回答

2

您可以通過get_language() method得到django.utils.translations活動語言:

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

這是與語言工作的正確途徑。

+0

哦,這人太棒了。您不必編寫多行代碼就可以在整個應用程序循環中維護語言代碼。這太棒了,再次感謝:) –

相關問題