如何解决是否可以使用 Pydantic BaseModel orm_mode 从 gui 类获取数据
是否可以使用继承自 Pydantic.BaseModel 的模型类通过设置 orm_mode= true 从 GUI 类获取数据,就像它与数据库一起使用
from typing import List
from sqlalchemy import Column,Integer,String
from sqlalchemy.dialects.postgresql import ARRAY
from sqlalchemy.ext.declarative import declarative_base
from pydantic import BaseModel,constr
Base = declarative_base()
class CompanyOrm(Base):
__tablename__ = 'companies'
id = Column(Integer,primary_key=True,nullable=False)
public_key = Column(String(20),index=True,nullable=False,unique=True)
name = Column(String(63),unique=True)
domains = Column(ARRAY(String(255)))
class CompanyModel(BaseModel):
id: int
public_key: constr(max_length=20)
name: constr(max_length=63)
domains: List[constr(max_length=255)]
class Config:
orm_mode = True
'''' 如果可能,我该怎么做?
解决方法
假设 ORM mode
支持任意类,而不仅仅是数据库 ORM(之所以这么命名是因为它通常与它结合使用)。更详细的here。
常规课程示例:
from pydantic import BaseModel
class SomeClass:
def __init__(self):
self.id = 100
self.name = "some_name"
class SomeModel(BaseModel):
id: int
name: str
class Config:
orm_mode = True
print(SomeModel.from_orm(SomeClass())) # id=100 name='some_name'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。