2010-01-05 15 views
7

ile çeşitli tablolarda arama Aşağıda gösterilen Restoran ve Yorum modelleri var. Yorum modelinde bir ForeignKey Restaurant'a sahiptir. Restoran alanlarının bazılarında ve Restoran örneklerinin bir listesini veren Yorum modelinin yorum alanında nasıl arama yapabilirim? Multivalue için http://django-haystack.readthedocs.org/en/latest/tutorial.htmldjango-haystack

göz:

Teşekkür

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

cevap

3

Sana kılavuzu okumak gerektiğini düşünüyorum

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

Eğer MultiValue alanı ile ilgili arama ve restaurat modelinde comment_set özniteliği ile kullanabilirsiniz . – diegueus9

+0

Teşekkürler. Bu kılavuzu okudum, ancak RestaurantIndex'imde yorumları nasıl ekleyeceğimi bilmiyordum. Kullanmak mı istiyorsunuz: comment = indexes.CharField (model_attr = 'comment_set') benim RestaurantIndex? Eğer öyleyse, Yorum modelinin hangi alanlarının endekslenmesi gerektiğini nasıl belirleyebilirim? – jul

+0

Hayır, doğru bağlantıyı bulamıyorum ama böyle bir şey demek: sınıf RestaurantIndex (indexes.SearchIndex): comments = indexes.indexes.MultiValueField() def prepare_comments (öz, obj): dönüş [a obj.comment_set.all() için) – diegueus9