Я пытаюсь получить django-haystack (используя xapian backend), чтобы проиндексировать мою модель здесь для поиска по полям name
и description
.
У меня есть подкласс 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-haystack's 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
?