擅长:python、mysql、java
<p>当您将<code>Meta.fields</code>传递给模式时,Marshmallow会尝试为每个属性选择一个字段类型。因为它不知道<code>ObjectId</code>是什么,所以它只将它传递给序列化的dict。当您尝试将其转储到JSON时,它不知道<code>ObjectId</code>是什么,并引发错误。要解决这个问题,您需要告诉marshullow要使用哪个字段作为id。A <a href="http://api.mongodb.org/python/current/api/bson/objectid.html#bson.objectid.ObjectId">BSON ^{<cd2>}</a>可以转换为字符串,所以使用<code>String</code>字段。在</p>
<pre><code>from marshmallow import Schema, fields
class ProcessSchema(Schema):
id = fields.String()
class Meta:
additional = ('created_at', 'name')
</code></pre>
<p>您还可以告诉Marshmallow要为<code>ObjectId</code>类型使用哪个字段,这样就不必每次都添加字段。在</p>
^{pr2}$