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

继承带有table=True且包含非基础字段类型的SQLModel父类时触发ValueError的问题咨询

继承带有table=True且包含非基础字段类型的SQLModel父类时触发ValueError的问题咨询

大家好,我在使用sqlmodel 0.0.22版本时碰到了一个棘手的问题,想请教下各位:

当我定义一个标记了table=True的SQLModel父类,其中包含一个通过sa_type=ARRAY(String)指定类型的list[str]字段,再继承这个父类创建子类时,程序会直接崩溃,抛出错误:

ValueError: <class 'list'> has no matching SQLAlchemy type

我的代码如下:

from sqlalchemy import ARRAY
from sqlmodel import Field, SQLModel, String


class Foo(SQLModel, table=True):
    id: str = Field(primary_key=True)
    bar: list[str] = Field(sa_type=ARRAY(String))


class Bar(Foo):
    pass

我尝试过把父类的table=True去掉,这时候错误就消失了,但这样的话父类就无法对应到数据库表,不符合我的实际需求。

有没有朋友知道这个问题的原因是什么?有没有可行的解决办法或者替代方案呢?

备注:内容来源于stack exchange,提问作者tierriminator

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 08:43:02