Django website의 지침에 따라 자체 SearchForm을 만들었지 만, 내 자신의 검색 필드를 추가하면 어떤 이유로 결과를 반환해야 할 때도 결과를 반환하지 않습니다.Django Haystack 사용자 지정 양식 사용자 지정 특성이 결과를 반환하지 않습니다.
내 search_indexes.py :
from haystack import indexes
from my.app.models import MyModel
class MyIndexIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.NgramField(document=True, use_template=True)
my_fieldname = indexes.CharField(model_attr='my_fieldname')
def get_model(self):
return MyModel
내 모델 :
class MyModel(models.Model):
some_field1 = models.CharField(_('Some field 1'), max_length=255)
some_field2 = models.CharField(_('Some field 2'), max_length=255)
my_fieldname = models.CharField(_('My field name'), max_length=255)
내 검색 양식 :
class MySearchForm(SearchForm):
q = forms.CharField(label="Search", max_length=255, required=False)
my_fieldname = forms.CharField(label="MySearchLabel", max_length=255, required=False)
def search(self):
sqs = super(MySearchForm, self).search()
if self.is_valid() and self.cleaned_data['my_fieldname']:
sqs = sqs.filter(my_fieldname=AutoQuery(self.cleaned_data['my_fieldname']))
return sqs
내 urls.py :
urlpatterns += patterns('haystack.views',
url(r'^search/', SearchView(
form_class=MySearchForm
), name='haystack_search'),
)
manage.py rebuild_index를 실행했지만 영향을 미치지 않습니다. 제 질문은 제가 여기서 잘못하고있는 것입니다. 왜 어떤 결과가 나오지 않습니다. q 매개 변수로 일부 쿼리를 시도하면 결과가 정상적으로 반환됩니다.