2013-03-28 84 views
1

我需要爲幾個屬性過濾空字段和空字段。到目前爲止,我發現,工作的解決方案是這樣的一個:Django Filter Query Solution

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

謝謝!這是我正在尋找的。 –