使用django haystack搜索多个表

使用django haystack搜索多个表,django,django-haystack,Django,Django Haystack,我有如下所示的餐厅和评论模型。注释模型具有餐馆的外键。如何在一些餐馆字段和返回餐馆实例列表的注释模型的注释字段中执行搜索 谢谢 class Restaurant(models.Model): name = models.CharField(max_length=100) country=models.ForeignKey(Country) city=models.ForeignKey(City) street=models.CharField(max_lengt

我有如下所示的餐厅和评论模型。注释模型具有餐馆的外键。如何在一些餐馆字段和返回餐馆实例列表的注释模型的注释字段中执行搜索

谢谢

class Restaurant(models.Model):

    name = models.CharField(max_length=100)
    country=models.ForeignKey(Country)
    city=models.ForeignKey(City)
    street=models.CharField(max_length=100)
    street_number=models.PositiveSmallIntegerField()
    postal_code=models.PositiveIntegerField(blank=True, null=True)
    slug = models.SlugField(unique=True)


class Comment(models.Model):

    user = models.ForeignKey(User)
    restaurant = models.ForeignKey(Restaurant)
    submit_date = models.DateTimeField(blank = True, null = False)
    comment = models.TextField() 

我认为你应该阅读手册:

寻找多值:

class RestaurantIndex(indexes.SearchIndex): 
     comments = indexes.MultiValueField() 
     def prepare_comments(self, obj): 
         return [a for a in obj.comment_set.all()]

您可以搜索有关多值字段的信息,并将其与restaurat model中的comment_set属性一起使用。谢谢。我确实读过手册,但不知道如何在我的RestaurantIndex中添加注释。你是说在我的RestaurantIndex中使用:comment=index.CharField(model\u attr='comment\u set')吗?如果是这样,我如何指定注释模型的哪些字段必须被索引?不,我找不到正确的链接,但我的意思是:类RestaurantIndex(index.SearchIndex):comments=index.index.MultiValueField()def prepare_comments(self,obj):返回[a代表obj.Comment_set.all()]也许这在过去是有效的,但在当前的情况下,上面会返回一个
TypeError
表示
Comment对象。。。JSON不是可序列化的吗?
我理解,你说得对,这个问题是在2010年提出的,当时代码已经得到了回答。