2012-04-07 10 views
1

Ich verwende django-haystack. Ich habe kleinen Code geschrieben, der den Staat und das Land von UserProfile sucht. Wenn ich Staat/Land suche, dann funktioniert es wie Charme. Aber wenn ich die user suche, dann zeigt es kein Ergebnis. Fehle ich etwas?Versuchen Sie, eine Indexsuche für Benutzer (Django-Heuhaufen)

dank
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) 

Hier url

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

Wurde das Problem gelöst oder nicht? –

+0

@AmarpreetSinghSaini Seine sehr alte Post. Ich kann mich nicht erinnern – Kulbir

Antwort

0

Wie ist Ihre UserProfile definiert?

Beachten Sie auch, dass Ihre repare_author(self, obj) bricht, wenn Sie Benutzer mit Nicht-ASCII-Symbolen in ihren Namen haben. Gib stattdessen einen u"..." String zurück.

1

, welche Inhalte Ihrer Datenvorlage ist haben Sie so etwas wie

enthalten
{{object.user}} 

in Datenvorlage (UserProfile_text-Datei). Was in der Datenvorlage definiert ist, wird im Index gesucht.

Verwandte Themen