一、连接数据
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
dbHost = 'postgres://用户名:密码@主机:端口/数据库名'
engine = create_engine(dbHost)
Session = sessionmaker(bind=engine)
session = Session()
二、模型
from sqlalchemy import Column, String, TIMESTAMP
from sqlalchemy.dialects.postgresql import INTEGER, TEXT, VARCHAR
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'auth_user'
id = Column(INTEGER, primary_key=True)
active = Column(INTEGER)
name = Column(TEXT)
class Size(Base):
__tablename__ = 'master_size'
id = Column(INTEGER, primary_key=True)
active = Column(INTEGER)
size = Column(TEXT)
user_id = Column(INTEGER)
三、ORM操作
from sqlalchemy import func
user_objs = session.query(User).filter(func.lower(User.name) == 'jack', User.active == 0)
user_obj = session.query(User).get(5)
user_obj = session.query(User).get({"id": 5, "active": 0})
user_obj = User(name='张三', active=0)
session.add(user_obj)
session.commit()
size_obj = Size(size='XXL', active=0, user_id=user_obj.id)
session.add(size_obj)
session.commit()
user_objs = session.query(User).filter(func.lower(User.name) == 'jack', User.active == 0)
session.delete(user_objs)
session.commit()
user_obj = session.query(User).get({"id": 5, "active": 0})
user_obj.name = '李四'
session.commit()