def search(request): if request.method == 'GET': search_query = request.GET.get('search_box', None) print(search_query) if search_query: mylist = search_query.split(' ') prod_s = Products_Selling.objects.none() prod_l = Products_Leasing.objects.none() for elements in mylist: search_fields = ['pname', 'description'] f = search_filter(search_fields, elements) filtered = Products_Selling.objects.filter(f) if filtered.exists(): prod_s = prod_s.union(filtered) search_fields1 = ['^pname1', 'description1'] g = search_filter(search_fields1, elements) filtered1 = Products_Leasing.objects.filter(g) if filtered1.exists(): prod_l = prod_l.union(filtered1) if len(prod_s) != 0 or len(prod_l) != 0: return render(request, 'buyer/search.html', {'products': prod_s}) else: return redirect('seller:request') return redirect('buyer:home')
def post(self, request): if request.POST.get('query'): context = {} query = request.POST.get('query') search_fields = ['username', 'first_name', 'last_name'] context['users'] = User.objects.filter( search_filter(search_fields, query)).exclude(id=request.user.id) search_fields = ['artist', 'title'] context['music'] = Music.objects.filter( search_filter(search_fields, query)) search_fields = ['name'] context['communities'] = Community.objects.filter( search_filter(search_fields, query)) return render(request, self.template_name, context)
def get_queryset(self): """ The main search """ result = Book.objects.none() author_q = self.request.GET.get("author") title_q = self.request.GET.get("title") column_q = self.request.GET.get("column") palco_q = self.request.GET.get("palco") number_q = self.request.GET.get("number") genre_q = self.request.GET.get("genre") if any((author_q, title_q, column_q, palco_q, number_q, genre_q)): result = Book.objects.all() if title_q: search_fields = ['title'] f = search_filter(search_fields, title_q) result = result.filter(f) if author_q: authors = Author.objects.search(author_q) result = result.filter( author__in=authors.values_list('pk', flat=True)) if column_q: result = result.filter(column__iexact=column_q.strip()) if palco_q: result = result.filter(palco__iexact=palco_q.strip()) if number_q: result = result.filter(number__iexact=number_q.strip()) if genre_q: result = result.filter(genre__code=genre_q) return result
def search_medical(request): queries = request.GET.get('q') if queries is not None: search_fields = [ 'username', 'address', 'mobile_no', 'emergency_mobile', 'pin_code', 'other_info' ] split_queries = queries.split() users = None for query in split_queries: current_users = User.objects.filter( search_filter(search_fields, query), is_active=True, groups__name__in=['doctor', 'pharmacy', 'diagnosis_center'], ) if users is None: users = current_users else: users = users.union(current_users) return render(request, 'cases/search-medical.html', { 'users': users, 'search_term': queries }) else: return render(request, 'cases/search-medical.html')
def get_queryset(self): query = self.request.GET.get('q') search_fields = ['cases_short_name', 'cases_description'] return Case.objects.filter( search_filter(search_fields, query), users=self.request.user, )
def get_specific_business(self, name, state): query = name search_fields = ["name"] f = search_filter(search_fields, query) qs = self.get_queryset().filter(f) result = qs.filter(address__locality__state__name__icontains=state, ) return result
def do_search(request): query = request.GET.get('search_string', "") search_fields = [ '^title', 'text', ] f = search_filter(search_fields, query) results = Poem.objects.filter(f) # queryset breadcrumbs = [ { "Главная": '/poetry' }, { "Поиск": "#" }, ] context = { "query": query, "results": results, "breadcrumbs": breadcrumbs, } #return render(request, 'search/appologise.html', context) return render(request, 'search/search_results.html', context)
def tosell(request): p = Profile.objects.get(user=request.user) m = Products_Selling.objects.filter(seller=p) n = Products_Leasing.objects.filter(leaser=p) if request.method == 'GET': search_query = request.GET.get('search_box', None) print(search_query) if search_query: mylist = search_query.split(' ') inst = [] for elements in mylist: search_fields = ['^pname', 'description'] f = search_filter(search_fields, elements) filtered = Products_Selling.objects.filter(f) if filtered.exists(): inst.append(filtered) else: return render(request, 'seller/tosell.html', { 'm': m, 'n': n }) return render(request, 'seller/search.html', {'inst': inst}) else: return render(request, 'seller/tosell.html', {'m': m, 'n': n}) else: return render(request, 'seller/tosell.html', {'m': m, 'n': n})
def search(request): query = request.GET['query'] search_fields = ['title', 'text'] f = search_filter(search_fields, query) lots = Lot_sub.objects.filter(f) context = {'lots': lots} return render(request, 'auction/search.html', context)
def search(query, searchBy): if (searchBy == "none"): search_fields = ['plant_name', 'com_name', 'scien_name'] f = search_filter(search_fields, query) plant = Plant.objects.filter(f) plantDesc, plantImg = getOtherInfo(plant) elif (searchBy == "division"): search_fields = ['div_id__div_name'] f = search_filter(search_fields, query) plant = Plant.objects.filter(f) plantDesc, plantImg = getOtherInfo(plant) elif (searchBy == "class"): search_fields = ['cls_id__cls_name'] f = search_filter(search_fields, query) plant = Plant.objects.filter(f) plantDesc, plantImg = getOtherInfo(plant) elif (searchBy == "order"): search_fields = ['ord_id__ord_name'] f = search_filter(search_fields, query) plant = Plant.objects.filter(f) plantDesc, plantImg = getOtherInfo(plant) elif (searchBy == "family"): search_fields = ['fam_id__fam_name'] f = search_filter(search_fields, query) plant = Plant.objects.filter(f) plantDesc, plantImg = getOtherInfo(plant) elif (searchBy == "genus"): search_fields = ['gen_id__gen_name'] f = search_filter(search_fields, query) plant = Plant.objects.filter(f) plantDesc, plantImg = getOtherInfo(plant) elif (searchBy == "species"): search_fields = ['spe_id__spe_name'] f = search_filter(search_fields, query) plant = Plant.objects.filter(f) plantDesc, plantImg = getOtherInfo(plant) else: search_fields = ['mc_id__mc_name'] f = search_filter(search_fields, query) plant = MedicalConditionRecovery.objects.filter(f) plantDesc, plantImg = getOtherInfo(plant) plantsInfo = [] for info, desc, imgs in zip(plant, plantDesc, plantImg): print(info.div_id.div_name) x = PlantInfo(info.plant_id, info.plant_name, info.scien_name, info.com_name, info.div_id.div_name, info.cls_id.cls_name, info.ord_id.ord_name, info.fam_id.fam_name, info.gen_id.gen_name, info.spe_id.spe_name, desc.description, desc.origin, desc.phytoconstituents, desc.toxicity, desc.contraindications, desc.parts_used, desc.vascular_info, desc.seed_info, desc.flowering_info, desc.used_for_medical_issues, imgs.img, info.slug) plantsInfo.append(x) return plantsInfo
def smp_search(request): if request.method == "POST": smp = request.POST.get("smp") search_fields = ['^smp'] f = search_filter(search_fields, smp) filtered = Smp.objects.filter(f) for item in filtered: print(dir(item)) break return render(request, 'smp_search.html', {"qs": filtered, "s": smp}) return redirect('/')
def get_specific_event(self, name, state): # includes special and non special events query = name search_fields = ["name"] f = search_filter(search_fields, query) qs = self.get_queryset().filter(f).order_by("to_be_held_on") result = qs.filter( location__locality__state__name__icontains=state, to_be_held_on__date__gte=datetime.date.today(), ) return result
def search(request): hashtag = Hashtag.objects.all().order_by('name') referer = request.META.get('HTTP_REFERER') try: query = request.GET["q"] except: query = '' err = '' checklist = [ '<', 'br', '>', '<br>', '<strong>', '<hr>', 'hr', 'strong', 'p', '<p>', '<ul>', 'ul', '<li>', 'li', '<s', '<str', '<Stron', '<h', 'g>', 'on>', 'ron>', 'tron>', 'strong>', '<l', 'i>', 'li>', '<u', 'l>' ] if str(query) in checklist: err = 'Type something else' query = '' search_fields = ['title', 'text'] f = search_filter(search_fields, query) filtered1 = Blog.objects.filter(f) search_field2 = ['displayname'] ff = search_filter(search_field2, query) filtered2 = UserInfo.objects.filter(ff) return render( request, 'search.html', { 'results1': filtered1, 'results2': filtered2, 'ref': referer, 'err': err, 'hashtag': hashtag })
def get_queryset(self): self.queries = self.request.GET.get('q') search_fields = [ 'username', 'address', 'mobile_no', 'emergency_mobile', 'pin_code', 'other_info' ] split_queries = self.queries.split() users = None for query in split_queries: current_users = User.objects.filter( search_filter(search_fields, query), is_active=True, groups__name__in=['doctor', 'pharmacy', 'diagnosis_center'], ) if users is None: users = current_users else: users = users.union(current_users) return users
def get_render(request, context: dict) -> render: """ Friends search. Returns rendered response. :param request: request :param context: dict :return: render """ context['matching'] = True if not request.POST.get('query'): context['matching'] = False context['friendlist'] = context['c_user'].profile.friends.all() return render(request, 'friends/list.html', context) query = request.POST.get('query') search_fields = ['username', 'first_name', 'last_name'] context['f_matches'] = User.objects.filter( search_filter(search_fields, query)).exclude(id=request.user.id) return render(request, 'friends/list.html', context)
def get(self, request, **kwargs): data = request.GET.dict() keyword = data['search'].lower() search_fields = ['name', 'description', 'author'] context = { 'keyword': keyword, } if len(keyword) >= settings.SEARCH_MIN_LENGHT: search = filter_items(Book).filter( search_filter(search_fields, keyword)) context.update({ 'search_list': search, }) else: context.update({ 'keyword_error': settings.SEARCH_MIN_LENGHT, }) return super(TemplateView, self).render_to_response(context)
def post(self, request, custom_url: str) -> render: """ Processing POST request. Rendering search list. :param custom_url: user's custom url :param request: request :return: render """ c_user = request.user context = self.get_menu_context('music', 'Музыка') context['matching'] = True if not request.POST.get('query'): context['matching'] = False context['music_list'] = c_user.profile.get_music_list() return render(request, 'music/search.html', context) query = request.POST.get('query') search_fields = ['title', 'artist'] context['c_matches'] = Music.objects.filter( search_filter(search_fields, query)) return render(request, 'music/search.html', context)
def item_list(request): if request.method == 'POST': query = request.POST.get('search', '') search_fields = ['title', 'description', '=item', '=status'] f = search_filter(search_fields, query) object_list = Item.objects.filter(f) else: object_list = Item.objects.all() query = False paginator = Paginator(object_list, 8) page = request.GET.get('page') try: items = paginator.page(page) except PageNotAnInteger: items = paginator.page(1) except EmptyPage: items = paginator.page(paginator.num_pages) return render(request, 'account/homepage.html', { 'items': items, 'page': page, 'search': query })
def home(request): form = forms.SolicitudForm() if request.GET: q = request.GET.get('q') e = request.GET.get('estatus') search_fields = ['^nombre', '^apellido', '^cedula', '=id', '^telefono'] f = [] f2 = [] band = False if q: f = search_filter(search_fields, q) if e: f2 = Q(estatus=e) if f and f2: f.add(f2, Q.AND) elif f2: f = f2 elif not f: band = True if band: solicitudes = models.Solicitud.objects.filter(~Q(estatus='F')) else: solicitudes = models.Solicitud.objects.filter(f) else: solicitudes = models.Solicitud.objects.filter(~Q(estatus='F')) solicitudes = solicitudes.order_by('-fecha_creacion') context = { 'form': form, 'solicitudes': solicitudes, } return render(request, 'list.html', context)
def post(self, request): """ Process post request from community search :param request: object with request details :type request: :class:`django.http.HttpRequest` :return: responce object with HTML code :rtype: :class:`django.http.HttpResponse` """ c_user = request.user self.context['matching'] = True if not request.POST.get('query'): self.context['matching'] = False self.context[ 'c_user_communities'] = c_user.profile.communities.all() return render(request, 'community/search.html', self.context) query = request.POST.get('query') search_fields = ['name'] self.context['c_matches'] = Community.objects.filter( search_filter(search_fields, query)) return render(request, 'community/search.html', self.context)
def search_results(request): template_name = "jacket/index.html" if request.method == 'POST': search_string = request.POST['search'] if search_string == '': context = { 'jackets': Jacket.objects.all().order_by('-added_on'), 'source': 'search' } return render(request, template_name, context) search_fields = ['title', 'description', 'location'] f = search_filter(search_fields, search_string) context = { 'jackets': Jacket.objects.filter(f).order_by('-added_on'), 'source': 'search' } return render(request, template_name, context) else: context = { 'jackets': Jacket.objects.all().order_by('-added_on'), 'source': 'search' } return render(request, template_name, context)
def get_results(query_string, search_fields): return MyModel.objects.filter(search_filter(search_fields, query_string))