簡體   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