# -*- coding: utf-8 -*- import autocomplete_light from django.db.models import Q from models import (Country, Currency, Measure) from project.customer.models import Client class AutocompleteClient(autocomplete_light.AutocompleteModelBase): '''Автокомплит клиента в зависимости от юзера ''' autocomplete_js_attributes = {'placeholder': u'Название предприятия или ИНН или ОКПО'} def choices_for_request(self): q = self.request.GET.get('q', '') user_ = self.request.user exclude = self.request.GET.getlist('exclude', []) choices = self.choices.filter(company=user_.profile).\ filter(Q(name__contains=q) | Q(inn=q) | Q(okpo=q)).\ exclude(pk__in=exclude) return self.order_choices(choices)[0:self.limit_choices] autocomplete_light.register(Country, name='ACCountry') autocomplete_light.register(Currency, name='ACCurrency') autocomplete_light.register(Measure, name='ACMeasure') autocomplete_light.register(Client, AutocompleteClient, name='ACClient')