我正在尝试使用django haystack创建自定义搜索表单,
我的表格:
class UserSearchForm(SearchForm):
resume = forms.ModelChoiceField(queryset=resume.objects.all(),
required=False)
def search(self):
# To get a SQS that's already handled the main field.
sqs = super(UserSearchForm, self).search()
# Now handle searching for the school if that's been chosen.
if 'resume' in self.cleaned_data:
sqs = sqs.filter(resumes=self.cleaned_data['resume'])
return sqs
urls.py:
url(r'^search/$', FacetedSearchView(form_class=UserSearchForm, searchqueryset=sqs1), name='haystack_search'),
serach_indexes.py
class UserIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
city = indexes.CharField(model_attr='city')
dob = indexes.CharField(model_attr='dob')
first_name = indexes.CharField(model_attr='first_name')
last_name = indexes.CharField(model_attr='last_name')
phone_number1 = indexes.CharField(model_attr='phone_number1')
phone_number2 = indexes.CharField(model_attr='phone_number2')
phone_number3 = indexes.CharField(model_attr='phone_number3')
cnic = indexes.CharField(model_attr='cnic')
gender = indexes.CharField(model_attr='gender')
resumes = indexes.MultiValueField()
def prepare_resumes(self, obj):
# Use the relation and hang the id's off it.
return [resume.resume_id for resume in obj.resumes.all()]
def get_model(self):
return user_info
当我转到网址时,它说' init ()得到了一个意外的关键字参数'selected_facets''
实际上我想要做的是当用户被搜索然后它返回其信息,教育,经验等。我有所有这些的单独模型。