2012-04-07 2 views
1

나는 django-haystack을 사용하고 있습니다. 나는 주와 국가를 검색하는 작은 코드를 UserProfile에서 작성했습니다. 내가 국가/국가를 검색하면 매력처럼 작동합니다. 하지만 user을 검색하면 결과가 표시되지 않습니다. 내가 놓친 게 있니? 덕분에사용자 (django-haystack)에 대한 색인 검색을 수행하려고합니다

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) 

여기에 URL을

sqs = SearchQuerySet().facet('author')  
urlpatterns += patterns('haystack.views', 
    url(r'^search/', FacetedSearchView(form_class=FacetedSearchForm, searchqueryset=sqs), name='haystack_search'), 
) 
+0

문제가 해결 되었습니까? 아니요. –

+0

@AmarpreetSinghSaini 매우 오래된 게시물입니다. 나는 기억하지 않는다. 미안하다. – Kulbir

답변

0

어떻게 UserProfile 정의이야?

또한 repare_author(self, obj)은 이름에 ASCII 이외의 기호가있는 사용자가 있으면 깨집니다. 대신 u"..." 문자열을 반환하십시오. 데이터 템플릿의 내용이 무엇인지

1

은 데이터 템플릿에서

{{object.user}} 

(UserProfile_text 파일) 같은 것을 포함합니다. 데이터 템플릿에서 정의 된 내용이 색인에서 검색됩니다.

관련 문제