Python django模型转换-按转换字段过滤

Python django模型转换-按转换字段过滤,python,django,django-modeltranslation,Python,Django,Django Modeltranslation,我需要查询如下内容: MyModel.objects.filter(title_de="some title") 其中de内title\u de是动态的 我不能这样做: MyModel.objects.filter('title_%s' % language = "some title") 我该怎么做 使用kwargs kwargs = {} title_arg = 'title_%s' % language kwargs[title_arg] = "some title" MyModel

我需要查询如下内容:

MyModel.objects.filter(title_de="some title")
其中
de
title\u de
是动态的

我不能这样做:

MyModel.objects.filter('title_%s' % language = "some title")
我该怎么做

使用kwargs

kwargs = {}
title_arg = 'title_%s' % language
kwargs[title_arg] = "some title"

MyModel.objects.filter(**kwargs)

如果在您的示例中,
language
是当前语言,那么这将是现成的。见:

它的工作原理如下:如果使用翻译字段名(
title
),它将更改为当前语言字段名(
title\u de
title\u en
,取决于当前的活动语言)。任何带有语言后缀的名称都保持不变(因此无论当前语言是什么,
title\u en
都不会更改)

如果给定语言没有可用的翻译(例如,请参阅),则没有回退,因此这与专门查询特定语言字段具有相同的效果