繁体   English   中英

django模型翻译-按翻译字段过滤

[英]django model translation - filter by translated field

我需要查询:

MyModel.objects.filter(title_de="some title")

其中, detitle_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_detitle_en ,根据当前活跃的语言)。 任何带有语言后缀的名称都将保持不变(因此无论当前语言是什么, title_en都不会改变)。

如果没有针对给定语言的翻译,就不会有退路(例如,请参见此问题 ),因此,这与专门查询特定于语言的字段具有相同的效果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM