0

我是Python(和OOP)的新手,正在開發一個具有挑戰性的項目(並在此處發表第一篇文章!)。我嘗試搜索,但找不到任何有用的東西,或者不知道要搜索什麼。將數組或字典插入到Google App Engine中的數據庫數據庫的方法 - Python

這是我想做的事:

我在DB(從google.appengine.ext)兩個表。一個是「水果」,水果名稱和營養信息,另一個是「用戶」,我想存儲兩列,uid和favFruits(他們喜歡的水果,他們的分數(5星級)和評論)。我遇到的問題是每個用戶(uid row)都可以擁有多個他們喜歡和評論的水果。 favFruits將顯示在用戶的個人資料中,當鏈接被點擊時,它將進入營養頁面。

例子:

"favFruits":[ 
    { 
    "fruit":"fuji apple" 
    "score":"4" 
    "comment":"Delicious. Bit tart, but very sweet" 
    }, 
    { 
    "fruit":"orange" 
    "score":"5" 
    "comment":"I just love it!" 
    } 
] 

什麼將其存儲在谷歌的AppEngine數據存儲的最佳方法是什麼?目前,我正在使用帶有favFruits ['fruit']的db.StringListProperty()作爲列表輸入,其中不包括['score']或['comment']。我真正想要的是將2D表格存儲在一列(數組到一列數據庫)中,只要識別了uid,就可以高效地進行搜索。

Json是最好的方法嗎?如何將包含所有三個字段的單個字符串連接成一個字符串並存儲列表(如[u'orange,5,我只是喜歡它!']?

如果有更好的方法,請讓我知道!我堅持...任何幫助是極大的讚賞

謝謝

回答

1

我的第一個提醒:使用NDB使用NDB你有結構和JSON性能,內置緩存和更多:https://developers.google.com/appengine/docs/python/ndb/

您可以使用NDB結構重複屬性爲favFruits。 https://developers.google.com/appengine/docs/python/ndb/properties#structured

無法在查詢中使用JSON屬性(blob)。

+0

謝謝您的建議。我正在從數據庫切換到NDB,並使用結構化屬性。我堅持一些NDB的語法,但是,因爲它不同於數據庫..我會在此發佈另一個問題。再次感謝! – jbro

相關問題