我需要为多个属性过滤空字段和空白字段。到目前为止,我发现有效的解决方案是:
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))
但我很确定这不是最好的选择。 有没有更有效的方法来做到这一点?
答案 0 :(得分:2)
我认为如果你链接你的条款,它会更具可读性。
avaluos= ( Avaluo.objects
.filter(Estatus='CONCLUIDO')
.filter(Q(Factura='')|Q(Factura__isnull=True))
.filter(Q(Pagado=False)|Q(Pagado__isnull=True)) )