【发布时间】:2014-12-25 10:11:05
【问题描述】:
我是 Django 新手,正在尝试使用 MySql 和 MyISAM 引擎为我的项目创建一个“搜索”表单。到目前为止,我设法让表单工作,但 Django 似乎并没有以相同的方式搜索所有字段。结果是随机的。示例:在region 中搜索不会返回任何结果,或者在description 中搜索最差的搜索效果很好,而howtogetin 似乎并不适用。
这是我的模型:
class Camp(models.Model):
owner = models.OneToOneField(User)
name = models.CharField(max_length=100)
description = models.TextField()
address1 = models.CharField(max_length=128)
address2 = models.CharField(max_length=128)
zipcode = models.CharField(max_length=128)
region = models.CharField(max_length=128)
country = models.CharField(max_length=128)
phone = models.CharField(max_length=60)
howtogetin = models.TextField()
def __str__(self):
return self.name
这是我的看法:
def campsearch(request):
if request.method == 'POST':
form = CampSearchForm(request.POST)
if form.is_valid():
terms = form.cleaned_data['search']
camps = Camp.objects.filter(
Q(name__search=terms)|
Q(description__search=terms)|
Q(address1__search=terms)|
Q(address2__search=terms)|
Q(zipcode__search=terms)|
Q(region__search=terms)|
Q(country__search=terms)|
Q(howtogetin__search=terms)
)
return render(request, 'campsearch.html', {'form':form, 'camps':camps})
else:
form = CampSearchForm()
return render(request, 'campsearch.html', {'form':form})
有什么线索吗?
【问题讨论】:
标签: mysql django python-2.7 full-text-search django-queryset