[英]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.