sab*_*ina 8 python django internationalization django-modeltranslation
我正在为多语言站点使用 django 模型翻译。
直接读取属性时,语言回退效果很好。例如,如果当前语言是德语并且我打印 object.title,如果未定义德语标题,我将看到英文标题。
我希望回退也适用于查询,但事实并非如此。事实上,如果我做类似的事情
results = MyModel.objects.filter(title = 'hello')
Run Code Online (Sandbox Code Playgroud)
如果未设置德语标题,这将不会得到任何结果,而我希望它返回带有英文标题“你好”的对象。
我怎样才能使这项工作?
提前致谢。
这里要做的就是显式查询所需的语言。在你的情况下:
from django.db.models import Q
# ...
# define your query like this:
results = MyModel.objects.filter(Q(title_de = 'hello') | Q(title_en = 'hello'))
# supposing you have German and English languages set
Run Code Online (Sandbox Code Playgroud)
为什么要做这个工作?因为当您查询特定语言时,ModelTranslation 会保留它。否则它使用当前语言。
我希望它有帮助!
| 归档时间: |
|
| 查看次数: |
892 次 |
| 最近记录: |