2009-08-20 93 views

回答

7

從技術上講,這不會被稱爲ORM(對象關係映射器),而是DAL(數據庫抽象層)。 ORM部分對於AppEngine來說並不是很有趣,因爲API已經處理了對象映射並執行了一些簡單的關係映射(請參閱RelationProperty)。

還意識到DAL絕對不會讓您在AppEngine的數據存儲和像mysql這樣的「正常」sql數據庫之間切換,因爲它們的工作方式非常不同。它可以讓你在不同的關鍵價值商店之間切換,比如reddis,mongo或東京內閣。但是因爲它們都具有非常不同的特徵,所以在使用它們之前我會真的考慮三次。

最後,DAL傳統上位於數據庫接口之上,但使用AppEngine的api,您可以實現自己的「存根」,基本上可讓您在其api上使用其他存儲後端。 Mongo的人爲MongoDB寫了one,這非常好。 dev_appserver附帶一個基於文件系統的文件系統。

現在回答:是的,有一個!它是web.py的一部分。如果出於上述原因,我沒有真正嘗試,所以我不能確定它是否好。

PS。我知道Ruby的keyvalue商店也有一個很好的DAL項目,但我現在找不到它......也許很高興在某個時候移植到Python。

+6

的web2py(web2py.com)和web.py(webpy.org)2個不同的框架:) – 2009-08-22 20:20:30

+0

我相信你在談論的web2py:HTTP:/ /www.web2py.com/book/default/chapter/06,並在http://web2py.com/主頁的** Talks to **部分中提及。 – 2011-07-27 10:26:45

3

現在他們做的,因爲谷歌已經推出的Cloud SQL