【发布时间】:2013-01-04 20:01:00
【问题描述】:
我正在使用django-modeltranslation 翻译我的内容。
如果没有为语言设置翻译字段的值,则它会自动采用默认语言的值。
但是,有没有办法知道给定语言的值是否已设置?
例如,如果 title_fr 未设置,obj.title_fr 将返回 obj.title 的值。
如何知道是否定义了法语版本?
【问题讨论】:
标签: python django django-modeltranslation
我正在使用django-modeltranslation 翻译我的内容。
如果没有为语言设置翻译字段的值,则它会自动采用默认语言的值。
但是,有没有办法知道给定语言的值是否已设置?
例如,如果 title_fr 未设置,obj.title_fr 将返回 obj.title 的值。
如何知道是否定义了法语版本?
【问题讨论】:
标签: python django django-modeltranslation
您可以使用instance.__dict__['title_fr'] 访问原始字段值。
但是,您可能想要自定义 fallback_values 选项:
https://django-modeltranslation.readthedocs.org/en/latest/usage.html#fallback-values
【讨论】:
fallback_values = {'title': None} 将使模型翻译返回法语标题,或者为 title 使用法语返回 None。这可能是你想要的。我没有尝试,但认为它应该可以工作。