如图,有多个字段联合查询,如果不填表示不过滤。django中要怎么进行查询,我下面写的 查询效率低,哪位大神教一个好的办法。
查询字段相加
data=Yiyang_alarm_map.objects.all()
if request.REQUEST.has_key('no'):
data=data.filter(alarmclass__contains=request.REQUEST['no'])
if request.REQUEST.has_key('alarmclass'):
data=data.filter(alarmclass__contains=request.REQUEST['alarmclass'])
if request.REQUEST.has_key('activestatus'):
data=data.filter(activestatus__contains=request.REQUEST['activestatus'])
if request.REQUEST.has_key('regionname'):
data=data.filter(regionname__contains=request.REQUEST['regionname'])
if request.REQUEST.has_key('assetsip'):
data=data.filter(assetsip__contains=request.REQUEST['assetsip'])
if request.REQUEST.has_key('riskname'):
data=data.filter(riskname__contains=request.REQUEST['riskname'])