我将MongoDB与MongoEngine结合使用,并试图用Marshmallow_MongoEngine序列化/反序列化。
我的代码如下:
import marshmallow_mongoengine as ma
from models.profile import Profile
class ProfileSchema(ma.ModelSchema):
class Meta:
model = Profile我得到的错误是:ModuleNotFoundError: No module named 'marshmallow.compat'
部分跟踪是:
File ".../lib/python3.7/site-packages/marshmallow_mongoengine/__init__.py", line 11, in <module>
from marshmallow_mongoengine.schema import (
File ".../lib/python3.7/site-packages/marshmallow_mongoengine/schema.py", line 6, in <module>
from marshmallow.compat import with_metaclass这个错误似乎是with_metaclass被调用的结果,据我所知,这个错误最初是在Marshmallow中使用的,目的是为了向后兼容Python2.x,并且不再被使用。有解决办法吗?还是另一种将数据序列化/反序列化到DB的方法?
我尝试过使用json_util.dumps,但是它以这种格式返回我的值:\"_id\",\"name\“,而不是我习惯于从棉花糖-sql之类的东西中获得的一个很好的输出。
发布于 2020-04-24 21:13:48
棉花糖-蒙哥机与棉花糖3不兼容。
这方面已经做了一些工作,但尚未合并(还没有):https://github.com/MongoEngine/marshmallow-mongoengine/pull/11。
顺便说一句,“棉花糖-蒙古引擎”的作者写了一个基于棉花糖的ODM,乌龙戈,它的目的是和mongoengine +棉花糖-mongoengine一样。
你的选择是:
https://stackoverflow.com/questions/61413832
复制相似问题