SQLModel继承场景下初始化子类User2时出现AttributeError的问题求助
SQLModel继承场景下初始化子类User2时出现AttributeError的问题求助
大家好,我在使用SQLModel声明类的时候遇到了一个困惑,想跟大家请教一下。
我的思路是把数据库相关逻辑封装在User类中,其他计算逻辑放在User2类里。另外我定义了BaseModel作为基类,把所有通用的属性和方法都放在里面,让User继承它来实现复用。
下面是我的代码:
from typing import Optional, Dict from sqlmodel import SQLModel, Field, MetaData from datetime import date class BaseModel(SQLModel, table=False): metadata = MetaData(schema=db.schema) class User(BaseModel, table=True): id: int = Field(default=None, primary_key=True) user_name: str = Field(max_length=50) mobile: str = Field(max_length=12, nullable=True, index=True, unique=True) email: str = Field(max_length=50, nullable=True, index=True, unique=True) password: Optional[str] auth_type: str = Field(max_length=50, nullable=False) user_sex: str = Field(max_length=10) user_birth_date: Optional[date] active: bool = Field(default=False) class User2(User, table=False): pass
现在遇到的问题是:初始化User()对象是成功的,但初始化User2()的时候会抛出错误:AttributeError: 'NoneType' object has no attribute 'set'。
我尝试过在BaseModel类里调用super().__init__(*args, **kwargs),但结果是在初始化BaseModel对象时也出现了同样的错误。
想请教一下各位,这种情况下我该如何正确地继承SQLModel的孙类呢?或者有没有其他方式可以实现从数据库类继承的需求?
备注:内容来源于stack exchange,提问作者tkad
相关产品推荐
相关产品推荐

