GrehBan / sqlatypemodel

Tool for use class-based models as data types in sqlalchemy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tool for use class-based models as data types in sqlalchemy

Example

from sqlatypemodel import ModelType
from pydantic import BaseModel
from sqlalchemy import Column
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.engine import create_engine
from sqlalchemy.orm.session import Session

Base = declarative_base()
engine = create_engine(...)


class MessageModel(BaseModel):
    text: str


class User(Base):
    ...

    message = Column(ModelType(model=MessageModel))


with Session(engine) as session:
    user = User(
        message=MessageModel(text="Hello")
    )
    session.add(user)
    session.commit()

If you do not want use pydantic

BUT - it is very simplified and dumb implementation of model
...
from sqlatypemodel import Model


class MessageModel(Model):
    text: str

About

Tool for use class-based models as data types in sqlalchemy

License:MIT License


Languages

Language:Python 100.0%