Suche über mehrere Felder
Ich glaube, ich verstehe Django-Heuhaufen nicht richtig:
Ich habe ein Datenmodell, das mehrere Felder enthält, und ich möchte, dass zwei davon durchsucht werden:
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True, default=None)
twitter_account = models.CharField(max_length=50, blank=False)
Meine Suchindexeinstellungen:
class UserProfileIndex(SearchIndex):
text = CharField(document=True, model_attr='user')
twitter_account = CharField(model_attr='twitter_account')
def get_queryset(self):
"""Used when the entire index for model is updated."""
return UserProfile.objects.all()
Aber wenn ich eine Suche durchführe, wird nur das Feld "Benutzername" durchsucht. "twitter_account" wird ignoriert. Wenn ich die Suchergebnisse über dbshell auswähle, enthalten die Objekte die korrekten Werte für "user" und "twitter_account", aber die Ergebnisseite zeigt "no results":
{% if query %}
<h3>Results</h3>
{% for result in page.object_list %}
<p>
<a href="{{ result.object.get_absolute_url }}">{{ result.object.id }}</a>
</p>
{% empty %}
<p>No results</p>
{% endfor %}
{% endif %}
Irgendwelche Ideen