微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以使用 Pydantic BaseModel orm_mode 从 gui 类获取数据

如何解决是否可以使用 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 举报,一经查实,本站将立刻删除。