私はQオブジェクトを動的に生成するにあたってthis articleを読んでいます。私は(ほとんどの部分)Qオブジェクトを理解するが、私は著者が、特にこの例をやっているか理解していないよ。私は特に得ることはありません何Django Qの理解 - 動的
# 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