2011-10-04 9 views
0

나는 두 모델에 있습니다장고 두 모델 필터

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