2016-12-02 14 views
5

私は以下のDjangoモデルを持っています。Django select_related filter

class A(models.Model): 
    tmp = models.ForeignKey(B) 
    active = models.BooleanField() 

class B(models.Model): 
    active = models.BooleanField() 
    archived = models.BooleanField() 

次のクエリがあります。

A.objects.select_related(B).filter(active=True) 

は今、これは私がモデルBためselect_related句のactive=Truearchived=Falseのフィルタを含むことができ、どのように今、Bのすべてのオブジェクトを取得します。

答えて

10

__参照して、あなたが他の関連分野の場合と同じ..

A.objects.select_related(B).filter(active=True, tmp__active=True, tmp__archived=False) 

関連の選択は、ここでは何も変わりません使用して、その目的は、結果で返される情報についてです、それはまったくフィルタリングに影響を与えません。

関連する問題