2015-03-30 3 views

ответ

3

Используйте kwargs,

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

MyModel.objects.filter(**kwargs) 
+0

замечательный, отлично работающий – doniyor

2

Если в вашем примере, language является текущим языком, то это будет работать из коробки. Смотрите modeltranslation docs:

Он работает следующим образом: если используется имя поля перевода (title), она изменяется в текущее имя поля языка (title_de или title_en, в зависимости от текущего активного языка). Любые имена с суффиксом языка остаются нетронутыми (так что title_en не изменится, независимо от того, что означает текущий язык).

Там нет запасного варианта в случае, если нет перевода для данного языка (смотрите, например, this question), так что это имеет тот же эффект, как конкретно запрашивая поля для конкретного языка.

Смежные вопросы