import sqlalchemy
from sqlalchemy import create_engine,ForeignKey
from sqlalchemy import Column,Integer,String,Date,Enum
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker,relationship
Base= declarative_base()
engine=create_engine("mysql+pymysql://root:xsy667437@localhost/studentdb",encoding="utf-8",echo=False)
class Student_basic(Base):
__tablename__='student_basic'
id=Column(Integer,primary_key=True,autoincrement=True)
name=Column(String(32),nullable=False)
register_date = Column(Date, nullable=False)
gender=Column(Enum("M","F"),nullable=False)
def __repr__(self):
return "<%s name: %s>"%(self.id,self.name)
class Student_study(Base):
__tablename__='student_study'
id=Column(Integer,primary_key=True,autoincrement=True)
day=Column(Integer,nullable=False)
status=Column(String(32),nullable=False)
study_id=Column(Integer,ForeignKey("student_basic.id"))
student=relationship("Student_basic",backref="my_classes")
def __repr__(self):
return "<%s day: %s status :%s>"%(self.student.name,self.day,self.status)
Base.metadata.create_all(engine)
Session_class=sessionmaker(bind=engine)
session=Session_class()
# s1=Student_basic(name="N1",register_date="2016-09-01",gender="M")
# s2=Student_basic(name="N2",register_date="2017-09-01",gender="M")
# s3=Student_basic(name="N3",register_date="2018-09-01",gender="M")
# stu1=Student_study(day=3,status="yes",study_id=1)
# stu2=Student_study(day=3,status="yes",study_id=2)
# stu3=Student_study(day=3,status="no",study_id=3)
# session.add_all([stu1,stu2,stu3])
stu_obj=session.query(Student_basic).filter(Student_basic.name=="N1").first()
print(stu_obj.my_classes)
session.commit()
转载于:https://www.cnblogs.com/xiesongyou/p/7812982.html