我試圖讓Django的草垛這裏(使用Xapian的後端)索引我的模型搜索,由name
和description
領域。在django-haystack中,我如何使用模型的子類?
我有一個Item
,Device
的子類,它增加了一個manufacturer
字段。
的Item
模型正是如此定義:
class Item(models.Model):
name = models.CharField(max_length=255, unique=True)
description = models.TextField(null=True, blank=True)
compatible_with = models.ManyToManyField('self', null=True, blank=True)
often_with = models.ManyToManyField('self', null=True, blank=True)
created_by = models.ForeignKey(User, null=True, blank=True, related_name='created_by')
verified = models.BooleanField(default=False)
verified_by = models.ForeignKey(User, null=True, blank=True, related_name='verified_by')
date_created = models.DateField(auto_now_add=True)
slug = models.SlugField(max_length=300, null=True, blank=True)
我的Django的乾草堆的SearchIndex
的子類看起來是這樣的:
class ItemIndex(SearchIndex):
text = CharField(document=True, use_template=True)
name = CharField(model_attr='name')
description = CharField(model_attr='description')
site.register(Item, ItemIndex)
我已經建立了這個模板,在templates/search/indexes/catalog/item_text.txt
:
{{ object.name }}
{{ object.description }}
我怎麼添加到item_text.txt
使得manufacturer
場編入索引,當且僅當模型對象是Device
一個實例?
謝謝:)這並獲得成功。 – 2010-10-19 23:03:30
很高興聽到它。 – fish2000 2010-10-19 23:35:47