1

我区6000点的数据,街道。我需要在依赖下拉列表中表示这一点。数据模型是例如;使用密钥()ID()在GAE数据存储和。反向地理编码

class Location(db.Model): 
    location_name = db.StringProperty() 
    //location_parent = db.IntegerProperty() 
    location_parent = db.ReferenceProperty() // 

location_parent是key()还是id()的引用?仍然无法决定哪一个是好的。当我使用key()作为引用,然后使用JSON来创建jQuery依赖下拉。我的页面加载/查询和渲染时间下拉很慢?我可以使用key().id()作为下拉选项值来减轻页面加载吗?此下拉菜单的父/子引用有更好的解决方案吗? 例如: 为区记录/实体的位置,父为空,对于子区记录LOCATION_NAME将包含参考父分区记录。

其他问题是反向地理编码以存储位置或显示的GeoPoint(纬度,经度)? 谷歌地图API总是找到确切的经纬度,特定地区边界的长或检查结果的任何错误?

回答

0

你有几个不同的问题有,但你的主要模式可能是不够的。您不应该使用字符串或整数属性来存储对另一个数据存储区实体的引用。这是db.ReferenceProperty的用途。一旦你存储在正确的引用到另一个数据存储实体,你可以很容易地引用实体的键(),键()。名称()或键()。ID(),以及使用查找实体。 get(),.get_by_key_name()和.get_by_id()。

+0

我试着修改了我的计划,你的答案,这是记录在这里可能是一个内部参考:http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#ReferenceProperty?那么使用ReferenceProperty或SelfReferenceProperty? – 2010-04-23 16:42:23