Я пытаюсь использовать информацию о местоположении пользователя, чтобы отфильтровать запрос поиска в стоге сена. Цель - показать результаты поиска магазинов рядом с пользователем. Проблема в том, что я не знаю, как передать запрос в индекс стога сена, чтобы запустить мою функцию get_or_set_location (self.request) . Возможно ли это?
class StoreIndex(request, indexes.SearchIndex, indexes.Indexable):
text = indexes.EdgeNgramField(
document=True, use_template=True,
template_name='/app/templates/search/item_text.txt')
# /templates/search/item_text.txt
business_name = indexes.EdgeNgramField(model_attr='business_name')
description = indexes.EdgeNgramField(model_attr="description", null=True)
category = indexes.CharField(model_attr='category')
city = indexes.CharField(model_attr='city')
updated_at = indexes.DateTimeField(model_attr='updated_at')
# for auto complete
content_auto = indexes.EdgeNgramField(model_attr='business_name')
# Spelling suggestions
suggestions = indexes.FacetCharField()
def get_model(self):
return Store
#This is where I need to call request for the users location method.
def index_queryset(self, using=None):
city_state = get_or_set_location(self.request)
user_location = city_state["user_location"]
return self.get_model().objects.annotate(distance = Distance("location", user_location)).order_by("distance").filter(status=2)[0:8]
Значение исключения: у объекта 'StoreIndex' нет атрибута 'request'