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