【发布时间】:2014-04-19 18:04:02
【问题描述】:
所以我正在尝试使用 Django-Haystack(elasticsearch 后端)索引一些项目,索引标准之一是项目上的标签,这是一个 m2m 关系(我实现了自己的自定义解决方案,因为它对我来说更容易比使用 taggit),这是我的模型的样子。
class GalleryTag(models.Model):
tag = models.CharField(max_length=100, unique=True)
slug = AutoSlugField(populate_from='tag', unique=True)
class Meta:
abstract = True
def __unicode__(self):
return self.tag
class Tag(GalleryTag):
pass
class Artist(GalleryTag):
pass
class Character(GalleryTag):
pass
class Gallery(models.Model):
characters = models.ManyToManyField(Character, blank=True, related_name='characters')
artists = models.ManyToManyField(Artist, blank=True, related_name='artists')
tags = models.ManyToManyField(Tag, blank=True, related_name='tags')
def __unicode__(self):
return self.name
我试图索引为可搜索的对象是画廊,我希望能够让标签、艺术家和角色(所有 m2ms)成为它们的可搜索条件之一。我真的找不到任何有关如何使关系可搜索的信息,基本示例仅使用完全平面模型。谢谢。
【问题讨论】:
标签: python django elasticsearch django-haystack