用geomodel命令(" - modified")

Nik*_*ntz 2 python google-app-engine

编辑:使用key = lambda解决并了解我实际在做什么.

有像gemodel一样

class A(GeoModel,search.SearchableModel):
Run Code Online (Sandbox Code Playgroud)

我正在尝试按日期使用db.GeoPt来存储谷歌地图坐标与GAE和我可以映射和匹配的地理模型.但订单(" - 修改")不起作用.没有踪影.欢迎所有想法.应该排序的代码是

a = A.proximity_fetch(A.all().filter("modified >",
timeline).filter("published =", True).filter("modified <=",
bookmark ).order("-modified") ,db.GeoPt(lat, lon),max_results=PAGESIZE
+1, max_distance=m)
Run Code Online (Sandbox Code Playgroud)

除订单外,所有参数似乎都有效(" - 修改")

尝试使用lambda排序的建议方法我得到消息"TypeError:lambda()只需1个参数(给定2个)"

a = A.proximity_fetch(A.all().filter("modified >", timeline).filter("published =", True).filter("modified <=", bookmark ).order("-modified") ,db.GeoPt(lat, lon),max_results=40, max_distance=m)
a = sorted(a, lambda x: x.modified, reverse=True)
Run Code Online (Sandbox Code Playgroud)

Nic*_*son 5

GeoModel执行多个查询并将结果组合到单个结果集中.应使用排序顺序执行每个查询,但最终结果可能不会按照该顺序排序.在内存中对结果进行排序可能足以克服这个问题.


sah*_*hid 5

GeoModel对距离最远点的结果进行排序.执行proximity_fetch后,需要使用python对结果进行排序:

result = sorted(result, key=lambda x: x.modified, reverse=True)
Run Code Online (Sandbox Code Playgroud)

编辑:忘记使用'key'参数进行排序