2013-03-28 5 views
1

여러 속성에 null 및 빈 필드를 필터링해야합니다. 지금까지 내가 발견 한 해결책은 이것입니다 :Django 필터 쿼리 솔루션

avaluos=Avaluo.objects.filter(Q(Estatus='CONCLUIDO',Pagado=False,Factura__isnull=True) 
|Q(Estatus='CONCLUIDO',Factura__isnull=True,Pagado__isnull=True) 
|Q(Estatus='CONCLUIDO',Factura__exact='',Pagado__isnull=True) 
|Q(Estatus= 'CONCLUIDO',Factura__exact='',Pagado=False)) 

그러나 나는 이것이 최선의 선택이 아니라고 확신합니다. 더 효율적인 방법이 있습니까?

답변

2

귀하의 조항을 묶어두면 더 쉽게 읽을 수 있습니다.

avaluos= (Avaluo.objects 
      .filter(Estatus='CONCLUIDO') 
      .filter(Q(Factura='')|Q(Factura__isnull=True)) 
      .filter(Q(Pagado=False)|Q(Pagado__isnull=True))) 
+0

고마워요! 이것이 제가 찾고 있던 것입니다. –