2016-12-02 12 views
5

Aşağıdaki Django modellerine sahibim.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() 

Şimdi aşağıdaki sorguyu sahibim.

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

Şimdi bu Modelin B için select_related fıkrada active=True ve archived=False bir filtreyi içerebilir nasıl Şimdi B. tüm nesneleri getirir.

cevap

10

bir __ arama ile, herhangi bir diğer ilgili alanda yaptığınız gibi aynı ..

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

ilgili seçme burada şey değişmez kullanarak, amacı neticeler elde ettiler hangi bilgilerin ilgili, Filtreleme üzerinde hiç bir etkisi yoktur.

İlgili konular