2014-11-03 62 views
0

如何從兩個型號中搜索Haystack?從兩個型號中搜索Haystack

class People(models.Model): 
    name = models.CharField(max_length=100) 
    description = models.TextField() 

    def __unicode__(self): 
     return self.name 


class Note(models.Model): 
    user = models.ForeignKey(CustomUser) 
    title = models.CharField(max_length=200) 
    body = models.TextField() 
    pub_date = models.DateTimeField() 

    def __unicode__(self): 
     return self.title 

實施兩個索引沒有幫助。

回答

0

如果您已經註冊搜索索引所有的模型,你可以指定它的搜索如:

SearchQuerySet().filter(content='foo').models(People, Note) 

如果不指定它會到處搜索

指標應該像

class PeopleIndex(indexes.SearchIndex, indexes.Indexable): 
    .... 

class NoteIndex(indexes.SearchIndex, indexes.Indexable): 
    .... 

in apps search_indexes.py in apps

PS確保所有模型通過直接查詢搜索引擎使用索引(如果可能)

+0

您能否請在此澄清您的答案:http://stackoverflow.com/questions/26668796/get-results-from-two-模型在haystack-whoosh。我會很感激。在這裏我發佈了更多我的代碼。 – Rodrigue 2014-11-03 10:51:26