[我目前正在尝试解决的情况是GeoSpatialOrderingFilterBackend中使用ElasticSearch DSL - DRF
的情况,它基于位置(纬度,经度)对文档进行排序,这反过来给出了elasticsearch_dsl.search.Search
查询集-按其应有的顺序;尽管我有些情况是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')
我正在寻找一种方法,将精选唱片放在首位;但要保持记录的顺序。
GeoSpatialOrderingFilterBackend
提供get_ordering_query_params
函数中的排序查询参数。当您再次基于featured
进行订购时,请同时考虑查询中的那些参数。