0

我正在尝试使用 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 

网址.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

当我转到 URL 时,它显示“ init () 有一个意外的关键字参数‘selected_facets’”

实际上,我想要做的是当搜索用户时,它会返回其信息、教育、经验等。我对所有这些都有单独的模型。

4

0 回答 0