Hoi,
Ik ben bezig met Django haystack en ik snap het niet helemaal. Kan zijn dat ik wat gemist heb?
Blijkbaar moet ik een SearchIndex object maken. Hierin kan ik velden definiƫren. Een van de velden verwijst echter naar een template en daar kan ik ook velden zetten. Wat is het verschil? Dus waarvoor dienen de velden in het object en wat moet er in zo'n template?
Om het wat duidelijker te maken, hieronder het voorbeeld uit de manual:
Het model:
class Note(models.Model):
user = models.ForeignKey(User)
pub_date = models.DateTimeField()
title = models.CharField(max_length=200)
body = models.TextField()
def __unicode__(self):
return self.title
het SeachIndex object:
class NoteIndex(SearchIndex):
text = CharField(document=True, use_template=True)
author = CharField(model_attr='user')
pub_date = DateTimeField(model_attr='pub_date')
def index_queryset(self):
"""Used when the entire index for model is updated."""
return Note.objects.filter(pub_date__lte=datetime.datetime.now())
[De template (waarnaar het veld text verwijst):
{{ object.title }}
{{ object.user.get_full_name }}
{{ object.body }}
Zie hoe de user in zowel de Searchindex als de template wordt gedefinieerd. Waar is dit voor?