[英]django model translation - filter by translated field
我需要查询:
MyModel.objects.filter(title_de="some title")
其中, de
内title_de
是动态
我不能做:
MyModel.objects.filter('title_%s' % language = "some title")
我怎样才能做到这一点?
使用小矮人
kwargs = {}
title_arg = 'title_%s' % language
kwargs[title_arg] = "some title"
MyModel.objects.filter(**kwargs)
在您的示例中,如果language
是当前语言,那么它将立即可用。 请参阅modeltranslation文档 :
它的工作原理如下:当翻译领域名称是用来(
title
),将其改变为当前语言字段名(title_de
或title_en
,根据当前活跃的语言)。 任何带有语言后缀的名称都将保持不变(因此无论当前语言是什么,title_en
都不会改变)。
如果没有针对给定语言的翻译,就不会有退路(例如,请参见此问题 ),因此,这与专门查询特定于语言的字段具有相同的效果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.