Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Django haystack  (gelezen 323 keer)

Offline MKe

  • Lid
  • Steunpunt: Nee
Django haystack
« Gepost op: 2013/04/23, 14:52:18 »
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?