Ich lese this article auf dynamische Generierung von Q-Objekten. Ich verstehe (zum größten Teil) Q-Objekte, aber ich bin nicht zu verstehen, wie der Autor speziell dieses Beispiel macht:Verstehen von Django Q - Dynamisch
# 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?>]
Was ich speziell nicht bekommen, ist die Liste Verständnis. Ein Q
Objekt wird mit willkürlichen Schlüsselwörtern als solche Q(question__contains='dinner')
formatiert.
Wenn es so tut, wie der Autor mit dem Listenverständnis vorschlägt, wird das effektiv nicht einfach ein Tupel innerhalb eines Q
Objekts auf jeder Iteration platzieren? Wie zum Beispiel: Q(('question__contains', 'dinner'))
.
Ich bin mir nicht sicher, wie dieser Code ein korrekt formatiert Q
Objekt erzeugt.
Absolut genial. Vielen Dank für das Durchlaufen. – qarthandso