4

我有一个属性存储为 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: ""}
4

2 回答 2

11

您的应用程序中是否有一个名为“json.py”的模块或一个名为“json”的包?这将覆盖 ndb 尝试导入的 json 模块。解决方案是为该模块或包选择不同的名称。

于 2012-04-19T04:58:45.217 回答
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)

你能更详细地了解你是如何做到这一点的吗?它与上面的片段有何不同?

于 2012-04-19T04:00:31.543 回答