こんにちは皆さん、そしてcouchdbのプロです。
次のようなマッピング設定があります。
class Product(BaseModel):
name= mapping.TextField()
returned = mapping.DictField(mapping.Mapping.build(
reason = mapping.TextField(),
put_back = mapping.BooleanField()
))
ID を受け取り、次の方法で製品を返す getById という関数があります。
return Product.load(db, id)
問題があります: 特定の製品をロードし、返された辞書を次のように設定しようとすると:
product = Product.getById("123")
product.returned
>>> {}
product.returned['reason'] = "Test"
product.returned
>>> {}
注: 最近、モデルを「返された」キーを持つように変更したばかりです。getById を使用して取得された古い製品オブジェクトには、「返された」キーが含まれていません。これは違いを生むでしょうか?結局のところ、これはドキュメント DB であり、柔軟である必要があります。
「reason」属性を設定した後でも、product.returned が空の辞書を返すのはなぜですか?
デバッグを行ったところ、product 変数の形式が次のようになっていることがわかりました。
<Product u'f90173026e859c65cfa08496115bf7bf'@u'11-3ea1135ceb6361631cbb08471d15df1e' {u'name': u'Printer', u'subProducts': [], u'company': {u'id': u'HP', u'name': u'Hewlett-Packard'}, u'productType':.......>
これはどのような結果ですか?ビューの結果ですか、それともドキュメントですか?
どんな助けでも大歓迎ですありがとう!
ありがとう。