1

我需要过滤多个属性的空字段和空白字段。到目前为止,我发现可行的解决方案是这个:

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))

但是我很确定这不是最好的选择。有没有更有效的方法来做到这一点?

4

1 回答 1

2

我认为如果你把你的条款链接起来,它会更具可读性。

avaluos= ( Avaluo.objects
           .filter(Estatus='CONCLUIDO')
           .filter(Q(Factura='')|Q(Factura__isnull=True))
           .filter(Q(Pagado=False)|Q(Pagado__isnull=True)) )
于 2013-03-28T21:02:27.620 回答