Я читаю this article о динамически генерирующих Q объектах. Я понимаю (по большей части) объектов Q, но я не понимая, как автор конкретно делает этот пример:Понимание Django Q - Dynamic
# string representation of our queries
>>> predicates = [('question__contains', 'dinner'), ('question__contains', 'meal')]
# create the list of Q objects and run the queries as above..
>>> q_list = [Q(x) for x in predicates]
>>> Poll.objects.filter(reduce(operator.or_, q_list))
[<Poll: what shall I make for dinner>, <Poll: what is your favourite meal?>]
Что я конкретно не получаю список понимание. Объект Q
отформатирован с произвольными ключевыми аргументами как таковые Q(question__contains='dinner')
.
Если вы делаете это, как предлагает автор со списком, не так ли эффективно разместить кортеж внутри объекта Q
на каждой итерации? Например: Q(('question__contains', 'dinner'))
.
Я не уверен, как этот код создает правильно отформатированный объект Q
.
Абсолютно здорово. Большое спасибо за то, что он прошел через него. – qarthandso