mongoengine QuerySet.to_json 不调用 Document.to_json
mongoengine QuerySet.to_json doesn't call Document.to_json
我已经覆盖了 Foo 上的 to_json 方法,Foo 是 mongoengine 文档的子class。当我调用 Foo.objects().to_json() 时,我的覆盖未被使用。有没有办法确保文档在不重复的情况下被序列化以供展示?
class Foo(文档):
presentation_field = StringField(必需=真,唯一=真)
technical_field = StringField(required=True, unique=True)</p>
<pre><code>def to_json(self):
data = self.to_mongo()
data.pop('technical_field')
return bson.json_util.dumps(data)
foos = Foo.objects()
对于 foo 中的 foo:
print foo.to_json() #override 被使用了!!!!
print foos.to_json() # 覆盖被忽略 :(
这似乎是一项功能而不是错误。正确的方法是 Foo.objects().only('presentation_field') 进行列过滤。
我已经覆盖了 Foo 上的 to_json 方法,Foo 是 mongoengine 文档的子class。当我调用 Foo.objects().to_json() 时,我的覆盖未被使用。有没有办法确保文档在不重复的情况下被序列化以供展示?
class Foo(文档):
presentation_field = StringField(必需=真,唯一=真)
technical_field = StringField(required=True, unique=True)</p>
<pre><code>def to_json(self):
data = self.to_mongo()
data.pop('technical_field')
return bson.json_util.dumps(data)
foos = Foo.objects() 对于 foo 中的 foo: print foo.to_json() #override 被使用了!!!! print foos.to_json() # 覆盖被忽略 :(
这似乎是一项功能而不是错误。正确的方法是 Foo.objects().only('presentation_field') 进行列过滤。