当前位置: 代码迷 >> SQL >> python学习课程(九)sqlalchemy框架的modern映射
  详细解决方案

python学习课程(九)sqlalchemy框架的modern映射

热度:23   发布时间:2016-05-05 12:04:28.0
python学习教程(九)sqlalchemy框架的modern映射

首先写一个modern.py文件,


from sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, Stringfrom sqlalchemy.engine import create_engine'''the connection to the database'''engine = create_engine("mysql://root:[email protected]/test",isolation_level="READ UNCOMMITTED") '''the construct of the database table'''Base = declarative_base()class People():    id = Column(Integer, primary_key=True)    name = Column(String(16))    gender = Column(String(16))    age = Column(String(16))class User(Base,People):    __tablename__ = 'users'    fullname = Column(String(16))    password = Column(String(16))class AdvancedUser(Base,People):    __tablename__ = 'advanceduser'        fullname = Column(String(16))    password = Column(String(16))    email = Column(String(16))    class Teacher(Base,People):    __tablename__ = 'teacher'        phone = Column(String(16))    Base.metadata.create_all(engine)

然后写一个control.py文件,内容如下:

from sqlalchemy.orm.session import sessionmakerfrom modern import engine,User,AdvancedUser,Teacheruser = User()user.name = 'username'user.gender = 'male'au = AdvancedUser()au.name = 'auname'au.gender = 'female'teacher = Teacher()teacher.name = 'wangdi'teacher.gender = 'female'teacher.phone = '15264397652'Session = sessionmaker()Session.configure(bind=engine)session = Session()session.add(user)session.add(au)session.add(teacher)session.flush()session.commit()

运行control.py可以测试代码。