2010-01-05 3 views
7

아래에 레스토랑과 코멘트 모델이 있습니다. Comment 모델에는 Restaurant에 대한 ForeignKey가 있습니다. 어떤 Restaurant 필드와 Restaurant 인스턴스 목록을 반환하는 Comment 모델의 주석 필드에서 검색을 수행 할 수 있습니까? 다중에 대한 http://django-haystack.readthedocs.org/en/latest/tutorial.htmldjango-haystack으로 여러 테이블에서 검색하기

보기 :

감사

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() 

답변

3

나는 당신이 설명서를 읽어해야한다고 생각

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

당신이 다중 값 필드에 대한 검색 및 restaurat 모델 comment_set 속성을 사용할 수 있습니다 . – diegueus9

+0

감사합니다. 실제로 설명서를 읽었지만 내 RestaurantIndex에 주석을 추가하는 방법을 알지 못했습니다. 내 RestaurantIndex에서 comment = indexes.CharField (model_attr = 'comment_set')를 사용하고 싶습니까? 그렇다면 어떻게 코멘트 모델의 어떤 필드를 색인해야하는지 지정할 수 있습니까? – jul

+0

아니, 내가 올바른 링크를 찾을 수 없습니다하지만 난 같은 의미 : 클래스 RestaurantIndex (indexes.SearchIndex) : 의견 = indexes.indexes.MultiValueField() 데프 prepare_comments (자기, OBJ) : 복귀 [A를 for a obj.comment_set.all()] – diegueus9

관련 문제