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 に答える