首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Marshmallow_MongoEngine: ModuleNotFoundError:没有名为“marshmallow.compat”的模块

Marshmallow_MongoEngine: ModuleNotFoundError:没有名为“marshmallow.compat”的模块
EN

Stack Overflow用户
提问于 2020-04-24 17:15:40
回答 1查看 2.4K关注 0票数 0

我将MongoDB与MongoEngine结合使用,并试图用Marshmallow_MongoEngine序列化/反序列化。

我的代码如下:

代码语言:javascript
复制
import marshmallow_mongoengine as ma

from models.profile import Profile

class ProfileSchema(ma.ModelSchema):
    class Meta:
        model = Profile

我得到的错误是:ModuleNotFoundError: No module named 'marshmallow.compat'

部分跟踪是:

代码语言:javascript
复制
  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之类的东西中获得的一个很好的输出。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-24 21:13:48

棉花糖-蒙哥机与棉花糖3不兼容。

这方面已经做了一些工作,但尚未合并(还没有):https://github.com/MongoEngine/marshmallow-mongoengine/pull/11

顺便说一句,“棉花糖-蒙古引擎”的作者写了一个基于棉花糖的ODM,乌龙戈,它的目的是和mongoengine +棉花糖-mongoengine一样。

你的选择是:

  • 帮助将棉花糖-蒙哥机移植到棉花糖3或移动到umongo (很好)
  • 坚持棉花糖2(坏)
  • 在上面的代码中使用棉花糖3兼容PR中的分支(丑陋)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61413832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档