3

モデルに ListField(db.ReferenceField)) が含まれto_json()ていて、ir を呼び出した後、子を json に変換せず、単に OID として保持する場合。(少なくとも X ディープ レベルまで) 子を json に簡単に変換する方法はありますか?

"data": {
 "articles": [],
 "category": {
  "_id": {
    "$oid": "5224905453f0462f5458a724"
  },
  "children": [
    {
      "$oid": "5224905453f0462f5458a725"
    },
    {
      "$oid": "5224905453f0462f5458a726"
    },
    {
      "$oid": "5224905453f0462f5458a727"
    },
    {
      "$oid": "5224905453f0462f5458a728"
    }
  ],
...........
4

2 に答える 2

9

to_json() (ドキュメントで to_json をオーバーライドできます) の代わりに、 to_mongo() を使用して SON オブジェクトを取得し、次に SON オブジェクト フィールドを更新します (dict オブジェクトと同様)。 ) を返し、最後に bson.json_util.dumps( SON obj) を返します。

#override
def to_json(self):
   data = self.to_mongo()
   for i in range(len(data['children'])):
        data['children'][i]= self.children[i].to_mongo()
   return bson.json_util.dumps(data)
于 2014-05-17T06:55:21.353 に答える