Я делаю сайт бронирования, и я внедрил упругое исследование. У меня все отлично получилось, но теперь я застрял на проблеме.
Я пытаюсь отобразить самую низкую цену за квартиру, которую искал пользователь, в результатах поиска. .
Цены хранятся в модели "ApartmentPrices":
class ApartmentPrices(models.Model):
apartment = models.ForeignKey(Apartment, on_delete="models.CASCADE", related_name="price")
price_start_date = models.DateField(blank=True, null=True)
price_end_date = models.DateField(blank=True, null=True)
price = models.IntegerField()
def __str__(self):
return self.apartment.title
Это мой документ и представление для фактического поиска:
представление поиска:
def search(request):
apartments = Apartment.objects.all()
q = request.GET.get('q')
if q:
apartments = ApartmentDocument.search().query("match", title=q)
else:
apartments = ''
return render(request, 'search/search_elastic.html', {'apartments': apartments, "q": q, })
эластичный документ поиска:
apartments = Index('apartments')
@apartments.document
class ApartmentDocument(Document):
class Django:
model = Apartment
fields = [
'title',
'id',
'bedrooms',
'list_date',
]
Я попытался передать apartment_id в окно поиска, но не могу заставить его работать.
Может ли кто-нибудь указать мне правонаправление пожалуйста? Как получить доступ к данным модели из запроса ES?
Спасибо!