def filter(self, request, queryset): flag = self.cleaned_data['flag'] try: age = self.cleaned_data['age'] except: age = None if flag == '': return queryset elif flag == '==': # we're query this ''' select * from ureport_contact where extract(year from age) = %s ''' return queryset.extra(where=['extract(year from age)=%s'], params=[age]) elif flag == '>': return queryset.extra(where=['extract(year from age)>%s'], params=[age]) elif flag == "<": return queryset.extra(where=['extract(year from age)<%s'], params=[age]) elif flag == 'b': inputed_age = normalize_query(age) minimum = inputed_age[0] maximum = inputed_age[-1] return queryset.extra(where=[ 'extract(year from age)>%s', 'extract(year from age)<%s' ], params=[minimum, maximum]) else: return queryset.filter(age=None)
def filter(self, request, queryset): flag = self.cleaned_data['flag'] try: age = self.cleaned_data['age'] except: age = None if flag == '': return queryset elif flag == '==': # we're query this ''' select * from ureport_contact where extract(year from age) = %s ''' return queryset.extra(where=['extract(year from age)=%s'], params=[age]) elif flag == '>': return queryset.extra(where=['extract(year from age)>%s'], params=[age]) elif flag == "<": return queryset.extra(where=['extract(year from age)<%s'], params=[age]) elif flag == 'b': inputed_age = normalize_query(age) minimum = inputed_age[0] maximum = inputed_age[-1] return queryset.extra(where=['extract(year from age)>%s', 'extract(year from age)<%s'], params=[minimum, maximum]) else: return queryset.filter(age=None)
def filter(self, request, queryset): searchx = self.cleaned_data['searchx'].strip() query = UreportContact.objects.none() if searchx == "": return queryset else: terms = normalize_query(searchx) for term in terms: try: term = int(term) except Exception: q = queryset.filter(Q(name__icontains=term)) query = query | q else: q = queryset.filter(Q(mobile=term)) query = query | q return query
def filter(self, request, queryset): search = self.cleaned_data['search'] # import ipdb; ipdb.set_trace() query = Message.objects.none() if search == "": return queryset else: terms = normalize_query(search) for term in terms: try: term = int(term) except Exception: q = queryset.filter(Q(text__icontains=search) | Q(connection__contact__reporting_location__name__icontains=search)) query = query | q else: q = queryset.filter(Q(connection__pk=term)) query = query | q return query