我将django-transmeta
用于翻译字段,我需要使用这些翻译字段执行一些搜索。你知道吗
假设我们有一个模型,它有一个名为translated_field
的可翻译字段。你知道吗
在第一种方法中,我们可以像往常一样思考一些事情,比如:
Q(translated_field__icontains="some value") # This fails, as `translated_field` field does not exist
第二种方法是硬编码所有可能的语言版本。E、 g.:
Q(translated_field_en__icontains="some value") # English version
Q(translated_field_es__icontains="some value") # Spanish version
# Add as many as available languages
第二个选项似乎真的是硬编码的,我想知道是否有一个可能的第三个选项执行如下操作:
Q(getattr("translated_field") + get_language() + "__icontains"="some value") # pseudocode
或者更好。。。有没有使用Q对象的**kwargs选项?你知道吗
谢谢!你知道吗
可以动态生成查找参数名称,将其用作字典键,然后在创建Q对象时使用
**kwargs
。你知道吗相关问题 更多 >
编程相关推荐