我试图让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