2012-04-12 13 views
0

たとえば、Userのリストを取得したいとします。私の現在のクエリセットはこのフィルタクエリーセットにuser.pkと記述されていないユーザを参照する必要はありませんか?

creator_list = User.objects.filter(
    Q(userprofile__place__managers=user) | 
    Q(pk=user.pk) 
) 

のように見えます私は私は私が単にpk一部をドロップすることができます実現するまで...=user.pkすべての時間を書き込むために使用...managers=user.pk

creator_list = User.objects.filter(
    Q(userprofile__place__managers=user.pk) | 
    Q(pk=user.pk) 
) 

と同じ結果を得ることができますがわかりました。したがって、2番目のQ()節では、pkの部分も削除できますか?したがって、私はそれが私がpkが整数のモデルのうち、主キーにかかることを理解し

creator_list = User.objects.filter(
    Q(userprofile__place__managers=user) | 
    Q(something=user) 
) 

のように見えるようにしたいが、私はすでに私がしたいことを知っていたときに、なぜ私はそれを指定する必要がありますUserモデルでフィルタリングします。

答えて

2

残念ながら、フィールド検索にフィールドが必要なため、モデルで指定された行を特に参照する方法がないため、PKを使用する必要があります。

関連する問題