def process_searchform(form):
"""Get searchresults based on form data"""
extra = {}
kwargs = {
'last_changed__gte': datetime.now() - timedelta(
days=form.cleaned_data['days'])
}
if form.cleaned_data['searchtype'] == 'ip':
ip = IP(form.cleaned_data['searchvalue'])
if ip.len() == 1:
kwargs['ip'] = str(ip)
else:
extra['where'] = ["ip << '%s'" % str(ip)]
else:
key = form.cleaned_data['searchtype'] + '__icontains'
kwargs[key] = form.cleaned_data['searchvalue']
if form.cleaned_data['status'] != 'any':
kwargs['status'] = form.cleaned_data['status']
return Identity.objects.filter(**kwargs).extra(**extra)
评论列表
文章目录