Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 棉花糖MongoEngine:ModuleNotFoundError:没有名为'的模块;棉花糖.compat';_Python_Mongodb_Mongoengine_Marshmallow - Fatal编程技术网

Python 棉花糖MongoEngine:ModuleNotFoundError:没有名为'的模块;棉花糖.compat';

Python 棉花糖MongoEngine:ModuleNotFoundError:没有名为'的模块;棉花糖.compat';,python,mongodb,mongoengine,marshmallow,Python,Mongodb,Mongoengine,Marshmallow,我将MongoDB与MongoEngine一起使用,并尝试使用Marshmallow_MongoEngine进行序列化/反序列化 我的代码如下: import marshmallow_mongoengine as ma from models.profile import Profile class ProfileSchema(ma.ModelSchema): class Meta: model = Profile 我得到的错误是: ModuleNotFoundEr

我将MongoDB与MongoEngine一起使用,并尝试使用Marshmallow_MongoEngine进行序列化/反序列化

我的代码如下:

import marshmallow_mongoengine as ma

from models.profile import Profile

class ProfileSchema(ma.ModelSchema):
    class Meta:
        model = Profile
我得到的错误是:
ModuleNotFoundError:没有名为'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
文件“../lib/python3.7/site packages/marshmallow\u mongoengine/\uuuuu init\uuuu.py”,第11行,在
从marshmallow_mongoengine.schema导入(
文件“../lib/python3.7/site packages/marshmallow\u mongoengine/schema.py”,第6行,在
从marshmallow.compat导入带有\u元类
这个错误似乎是调用with_元类的结果,据我所知,该元类最初在Marshmallow中是为了与Python 2.x向后兼容,现在不再使用。是否有解决方案?或者其他方法来序列化/反序列化数据库中的数据

附言。
我曾尝试使用json_util.dumps,但它以以下格式返回我的值:[\“\u id\”,\“name\”],而不是我习惯于从marshmallow sql之类的东西获得的良好输出。marshmallow mongoengine与marshmallow 3不兼容

这方面已有工作,但尚未合并(尚未?):

顺便说一句,marshmallow mongoengine的作者写了一个基于marshmallow的ODM,这意味着要做与mongoengine+marshmallow mongoengine相同的事情

你的选择是:

  • 帮助将棉花糖mongoengine移植到棉花糖3或转移到umongo(好)
  • 坚持棉花糖2(坏)
  • 在代码中使用上面棉花糖3兼容性PR中的分支(丑陋)

我忘了提到umongo+mashmallow 3仍然是测试版。我正在努力。我希望尽快发布一个稳定的3.0版本。