2012-04-18 54 views
4

我有我存儲作爲一個JSON對象的屬性,就像這樣:谷歌的AppEngine,NDB和JSON

content = ndb.JsonProperty() 

當我這樣做,我得到這個錯誤:

line 1614, in _to_base_type 
    return json.dumps(value, 2) 
AttributeError: 'module' object has no attribute 'dumps' 

在ndb模型類中。

作爲ndb.TextProperty它正常工作。也許我送JSON錯了,這是JSON對象我送:

{posttext: "What is your earliest memory of WWII?", linkdata: ""} 

回答

11

您的應用程序中是否有名爲'json.py'的模塊或名爲'json'的包?這將覆蓋ndb嘗試導入的json模塊。解決方案是爲該模塊或軟件包選擇一個不同的名稱。

+0

是的,你是對的,這是問題所在。 – prashn64 2012-05-07 22:12:33

1

什麼你所描述的作品很好,當我嘗試:

from google.appengine.ext import ndb 
class TestModel(ndb.Model): 
    foo = ndb.JsonProperty() 
t = TestModel(foo={"posttext": "What is your earliest memory of WWII?", "linkdata": ""}) 
t.put() 
Key('TestModel', 7001) 

你可以進入更多關於你究竟如何做的細節?它與上面的代碼片段有什麼不同?