1

いくつかの属性について、null フィールドと空白フィールドをフィルタリングする必要があります。これまでのところ、私が見つけた解決策は次のとおりです。

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 に答える