SQLAlchemy学习-11.结合 dataclass 使用
Posted 上海-悠悠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLAlchemy学习-11.结合 dataclass 使用相关的知识,希望对你有一定的参考价值。
前言
SQLAlchemy 可以结合 dataclass 使用,python3.7以上版本自带了dataclasses模块。
结合 dataclass 使用
使用示例
from dataclasses import dataclass, field
from datetime import datetime
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, TIMESTAMP
from sqlalchemy.orm import sessionmaker, mapper
metadata = MetaData()
person_table = \\
Table('person', metadata,
Column('id', Integer, primary_key=True, autoincrement=True),
Column('name', String(255)),
Column('age', Integer),
Column('birthday', TIMESTAMP)
)
@dataclass
class Person:
id: int = None
name: str = field(default_factory=str)
age: int = field(default_factory=int)
birthday: datetime = field(default_factory=datetime)
mapper(Person, person_table)
engine = create_engine('mysql+pymysql://root:aa123456@47.108.155.10:3309/web', echo=True)
metadata.create_all(engine)
session = sessionmaker(bind=engine)()
# 新增数据提交
person = Person(name='Robby', age=33, birthday=datetime(1985, 7, 25))
session.add(person)
session.commit()
执行后,生成 person 表
以上是关于SQLAlchemy学习-11.结合 dataclass 使用的主要内容,如果未能解决你的问题,请参考以下文章
结合 Qgraphics 和 sqlalchemy 时出现元类错误
结合继承yieldcontextmanagerrollback来解决问题。