我正在使用django-haystack
。我写了一些小代码,从UserProfile
搜索州和国家。如果我搜索州/国家,那么它就像魅力一样。但是,如果我搜索user
,那么它不会显示任何结果。我错过了什么吗?谢谢
class UserProfileIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
author = indexes.CharField(model_attr='user', faceted=True)
state = indexes.CharField(model_attr='state')
country = indexes.CharField(model_attr='country', null=True)
def get_model(self):
return UserProfile
def index_queryset(self):
return self.get_model().objects.all()
def prepare_author(self, obj):
return "%s <%s>" % (obj.user.get_full_name(), obj.user.email)
这里的网址
sqs = SearchQuerySet().facet('author')
urlpatterns += patterns('haystack.views',
url(r'^search/', FacetedSearchView(form_class=FacetedSearchForm, searchqueryset=sqs), name='haystack_search'),
)
答案 0 :(得分:1)
您的数据模板的内容是否包含类似
的内容{{object.user}}
数据模板中的(UserProfile_text文件)。从索引中搜索数据模板中定义的内容。
答案 1 :(得分:0)
你的UserProfile
如何定义?
另请注意,一旦您的名字中包含非ASCII符号的用户,您的repare_author(self, obj)
就会中断。改为返回u"..."
字符串。