Ситуация, которую я сейчас пытаюсь разрешить, - это случай, когда GeoSpatialOrderingFilterBackend используется из ElasticSearch DSL - DRF
, который упорядочивает документы на основе местоположения (широта, долгота), это в свою очередь выдает elasticsearch_dsl.search.Search
queryset - упорядочен как надо; хотя у меня есть случай, когда некоторые имеют значение featured
и поэтому хотели бы переместить их в начало набора запросов.
Сценарий (как есть):
Record 1, Location X, Featured False
Record 3 Location Y, Featured False
Record 2, Location Z, Featured True
Ожидается:
Record 1, Location Z, Featured True
Record 2, Location X, Featured False
Record 3, Location Y, Featured False
Сортировка впоследствии (как показано ниже) в наборе запросов помещает элемент вверху; хотя скремблирует весь порядок геопространственных / местоположений.
result = super().filter_queryset(request, queryset, view).sort('-featured')
Я ищу способ поднять избранные записи вверху; но следите за порядком записей.