Suche in mehreren Tabellen mit Django-Haystack
-
18-09-2019 - |
Frage
Ich habe das unten stehende Restaurant- und Kommentarmodelle angezeigt. Das Kommentarmodell hat einen Foreignkey ins Restaurant. Wie kann ich in einigen Restaurantfeldern und im Kommentarfeld des Kommentarmodells eine Suche durchführen, die eine Liste von Restaurantinstanzen zurückgibt?
Vielen Dank
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()
Lösung
Ich denke, Sie sollten das Handbuch lesen: http://django-haystack.readthedocs.org/en/latest/tutorial.html
Suchen Sie nach Multivalue:
class RestaurantIndex(indexes.SearchIndex):
comments = indexes.MultiValueField()
def prepare_comments(self, obj):
return [a for a in obj.comment_set.all()]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow