私はこの動作を観察しており、あまり理解していません。返さDjango:values_listの値がprefetch_related/select_relatedの有無を確認してください
[1,2,3,4]
その後、私は特定の値がPKSのリストにあるかどうかを確認したい:
result = model.objects.all()
result_pks = result.values_list("id",flat=True)
print result_pks
そして、私が手に:私は、クエリを作成しましょう
val = 2
print val in result_pks
これをTrueを返しますが、代わりに結果を次のように変更します。
result = model.objects.prefetch_related("related_field").all()
result_pks = result.values_list("id",flat=True)
print result_pks
私はまだ取得:
[1,2,3,4]
しかし、私は実行します。
val=2
print val in result_pks
私はFalseを取得します。代わりにselect_relatedを使ってみましたが、期待どおりTrueを返しました。誰かが私になぜ違いを説明することができますか?
どのようなDjangoのバージョンを使用していますか? –