Python Django中基于对象坐标的高效查询方法
我将检索几个对象,并根据它们的起始位置为每个对象创建一个单独的列表 例如,我们有一个6个对象的查询,它们都有不同的Python Django中基于对象坐标的高效查询方法,python,django,Python,Django,我将检索几个对象,并根据它们的起始位置为每个对象创建一个单独的列表 例如,我们有一个6个对象的查询,它们都有不同的start\u loc。我想列出一个列表,其中对象之间的起始位置在30米以内 所以,这个列表看起来像 [[obj1,obj2,obj3],[obj4,obj5]] 我的代码如下: hikes = Hikes.objects.all().order_by('start_loc') eff_hikes = _eff_hikes(hikes) def _eff_hikes(hikes
start\u loc
。我想列出一个列表,其中对象之间的起始位置
在30米以内
所以,这个列表看起来像
[[obj1,obj2,obj3],[obj4,obj5]]
我的代码如下:
hikes = Hikes.objects.all().order_by('start_loc')
eff_hikes = _eff_hikes(hikes)
def _eff_hikes(hikes):
ref_coords = []
for i in range(len(hikes) - 1):
this_hike = hikes[i].start_loc
next_hike = hikes[i+1].start_loc
dis = D(m=this_hike.distance(next_hike))
if this_hike != next_hike and dis > D(m=30):
ref_coords.append() = hikes[:i+1]
# some more code
return ref_coords
这没有帮助,使我的代码变得复杂。这个问题有更好的解决方案吗?你是如何按位置排序的?我假设位置是二维向量或列表,我错了?。