安装
pip install sqlalchemy
基本使用
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 创建连接引擎
engine = create_engine('postgresql://username:password@localhost:5432/mydatabase')
# 创建基类
Base = declarative_base()
# 定义模型
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
fullname = Column(String)
password = Column(String)
def __repr__(self):
return f'<User(name={self.name}, fullname={self.fullname}, password={self.password})>'
# 创建会话
Session = sessionmaker(bind=engine)
session = Session()
# 创建新记录
new_user = User(name='john', fullname='John Doe', password='secret')
# 添加记录
session.add(new_user)
# 提交事务
session.commit()
使用基础模型来定义一些共用的属性
from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.ext.declarative import declarative_base
from datetime import datetime
Base = declarative_base()
class BaseModel(Base):
# 特殊属性,用于标记一个模型是否为抽象模型
# 如果一个模型被标记为抽象模型,则 SQLAlchemy 在创建表的时候不会为该模型创建对应的数据库表。
# 也就是说,抽象模型仅用于作为其他模型的基类,不能直接对应数据库表。
__abstract__ = True
id = Column(Integer, primary_key=True)
create_time = Column(DateTime, default=datetime.utcnow)
update_time = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
class User(BaseModel):
__tablename__ = "users"
name = Column(String)
email = Column(String)
标签:__,sqlalchemy,String,Column,declarative,SQLAlchemy,import
From: https://www.cnblogs.com/miracleeeeeeee/p/17033087.html