1
我正在使用django-modeltranslation翻譯我的內容。django-modeltranslation:如何知道該值是否在給定的語言中定義?
如果翻譯字段的值未爲某種語言設置,則會自動獲取默認語言的值。
但是,有沒有辦法知道給定語言的值是否已設置?
例如,如果沒有設置title_fr
,obj.title_fr
將返回值obj.title
。 如何知道法語版本是否已定義?
我正在使用django-modeltranslation翻譯我的內容。django-modeltranslation:如何知道該值是否在給定的語言中定義?
如果翻譯字段的值未爲某種語言設置,則會自動獲取默認語言的值。
但是,有沒有辦法知道給定語言的值是否已設置?
例如,如果沒有設置title_fr
,obj.title_fr
將返回值obj.title
。 如何知道法語版本是否已定義?
您可以通過instance.__dict__['title_fr']
訪問原始字段值。
不過,你可能想定製fallback_values
選項:
https://django-modeltranslation.readthedocs.org/en/latest/usage.html#fallback-values
的GETATTR(例如, 'title_fr')也將工作!事實上,我有這個問題,因爲翻譯字段是一個AutoSlugField(django_extensions) – luc
謝謝你的fallback-values指針,但我不確定它是否符合這個需求。它看起來可以用來獲得翻譯字段的默認值。 – luc
''fallback_values = {'title':None}''會用法語lang使模型翻譯返回法語標題或None。這可能是你想要的。我沒有嘗試,但認爲它應該工作。 – bmihelac