from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from pydantic.dataclasses import dataclass
# Create engine and session
engine = create_engine('sqlite:///example.db')
Session = sessionmaker(bind=engine)
session = Session()
# Define declarative base
Base = declarative_base()
# Define SQLAlchemy model
class MyTable(Base):
__tablename__ = 'my_table'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
# Define Pydantic model using the dataclass decorator
@dataclass
class MyTableSchema(MyTable):
pass
# Use Pydantic model to validate and serialize data
data = {'id': 1, 'name': 'John', 'age': 30}
schema = MyTableSchema(**data)
print(schema.dict())
Created
April 13, 2023 06:08
-
-
Save daaniam/91ff3176573e8178add1d13d61636490 to your computer and use it in GitHub Desktop.
Pydantic schema from SQLAlchemy model (inheritance)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment