2011-10-04 71 views
0

我有兩個型號:Django的標準按揭過濾

class ModelA(models.Model): 
    field1=models.CharField(max_length=50) 
    field2=models.CharField(max_length=50) 
class ModelB(model.Model): 
    field3=models.ForeignKey(ModelA) 
    field4=Models.CharField(max_length=50) 

我想MODELA不ModelB的MODELA查詢集的結果?它怎麼樣?想!

回答

2
ModelA.objects.filter(modelb__isnull=True) 

應該工作。

+0

這是否實際上在表本身上運行,因爲在ORM中ModelA沒有引用ModelB。不是爭辯,只是想知道。 – myusuf3

+0

在引擎蓋下,Django將執行左外連接。你可以通過執行'print ModelA.objects.filter(modelb__isnull = True).query'來查看sql查詢。 – Alasdair

+0

Thanks @alasdair! – Kollin