You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ImportError: 无法从marshmallow_sqlalchemy导入ModelSchema问题求助

问题根因

ModelSchema 已在 marshmallow-sqlalchemy 0.24.0 及以上版本中被正式移除,你使用的教程内容确实已经过时,对应为 0.23.x 及更低版本的旧用法。

解决方案

有两种可选择的处理方式:

  • 方案1:降级依赖版本适配旧教程代码
    直接执行安装命令即可兼容原有写法:
    pip install marshmallow-sqlalchemy==0.23.1
    安装完成后原 from marshmallow_sqlalchemy import ModelSchema 语句可直接正常运行,无需修改教程中的其他代码。
  • 方案2:采用新版本官方推荐的替换写法
    新版本使用 SQLAlchemyAutoSchema 替代原有的 ModelSchema,仅需调整导入和类定义即可,原有序列化、反序列化逻辑完全兼容:
    1. 替换导入语句为:from marshmallow_sqlalchemy import SQLAlchemyAutoSchema
    2. 定义Schema类时在内部Meta配置中添加 load_instance = True 参数,示例如下:
    # 假设已提前定义SQLAlchemy模型类User
    class UserSchema(SQLAlchemyAutoSchema):
        class Meta:
            model = User
            load_instance = True # 匹配原ModelSchema默认反序列化返回模型实例的行为
    

内容的提问来源于stack exchange,提问作者Code Gatherer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:36:03