Создание динамического запроса - PullRequest
0 голосов
/ 03 октября 2011

Скажите, пожалуйста, как сделать этот запрос динамическим:

products = category.product_set.filter(Q(feature__value__value='Red')
|Q(feature__value__value='Blue'), feature__name__name='Color')

Мне нужно показать все продукты с красным и синим цветом.

И скажите, пожалуйста, как лучше это сделатьэтот запрос:

Все товары с красным и синим, но с Вариантом-1.Я так понимаю?:

products = category.product_set.filter(Q(feature__value__value='Red')
|Q(feature__value__value='Blue'), feature__name__name='Color').filter(Q(feature__value__value='Yes')
|Q(feature__value__value='No', feature__name__name='Option-1')

1 Ответ

1 голос
/ 03 октября 2011

Я думаю, что вы ищете это:

# create a dynamic set of keywords
kwargs = {}
name = 'Color'
# since you're looking for literals, I would simply use 'in' as the query
kwargs[name + "__in"] = ['Red','Blue']

products = category.product_set.filter(**kwargs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...