4

「1」と「2」でタグ付けされた Result オブジェクトがあります。「one」と「two」のタグが付いたオブジェクトを照会しようとすると、何も返されません。

q = Result.objects.filter(Q(tags__name="one") & Q(tags__name="two"))
print len(q) 
# prints zero, was expecting 1

Q で動作しないのはなぜですか? どうすればそれを機能させることができますか?

4

4 に答える 4

0

q = Result.objects.filter(tags_ name _in=["one"]).filter(tags_ name _in=["two"])

複数の一意のオブジェクトが予想される場合は、.distinct() を追加して重複を削除します

于 2013-07-22T15:41:42.760 に答える
0

動作する例では、2 つの python オブジェクト (クエリ セット) を終了します。これは、タグとしてoneANDを持つ同じレコードに必ずしも適用されるとは限りません。two

ps: なぜinフィルターを使うのですか?

于 2013-07-03T01:45:34.440 に答える