[英]Django django-autocomplete-light search not complete
我在我的項目中使用django-autocomplete-light插件。 插件可以很好地工作,但是如果公司名稱是由多個單詞組成的,那么它不會以第二個或第三個單詞進行搜索,例如,如果我搜索Baye,則使用Bayerische Motoren Werke(BMW)...它會填充找到它,但是搜索Mo ...或Wer ...不會。 我知道這是一個自動完成插件,但是我想知道是否有解決方法。
views.py
class CompanyAutoComplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Company.objects.all()
if self.q:
qs = qs.filter(name__istartswith=self.q) | qs.filter(comNumber__istartswith=self.q)
return qs
urls.py
urlpatterns += [
url(
r'^autocomplete/$',
views.CompanyAutoComplete.as_view(model=Company),
name='company-autocomplete',
),
]
models.py
class Company(models.Model):
name = models.CharField(max_length=255)
comNumber = models.CharField(max_length=255)
law = models.CharField(max_length=255)
country = models.CharField(max_length=255, null=True, blank=True)
city = models.CharField(max_length=255, null=True, blank=True)
street = models.CharField(max_length=255, null=True, blank=True)
house_number = models.CharField(max_length=255, null=True, blank=True)
email = models.CharField(max_length=255, null=True, blank=True)
def __str__(self):
return self.name.encode("utf-8")
def get_absolute_url(self):
return reverse('company-detail', args=[str(self.id)])
def __unicode__(self):
return '%s' % (self.name,)
class CompanyAutoComplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Company.objects.all()
if self.q:
qs = qs.filter(name__icontains=self.q) | qs.filter(comNumber__icontains=self.q)
return qs
試圖取代istartswith
與icontains
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.