一、创建两张表,并关联外键

  导入ForenginKey模块  

# -*- coding: UTF-8 -*-
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, DATE, Enum
from sqlalchemy import ForeignKey
from sqlalchemy.orm import sessionmaker

engine = create_engine("mysql+pymysql://bigberg:111111@172.16.200.49:3306/study",
                       encoding="utf-8", )  # 连接数据库,echo=True =>把所有的信息都打印出来

Base = declarative_base()  # 生成orm基类

class Student(Base):
    __tablename__ = "student"
    id = Column(Integer, primary_key=True)
    name = Column(String(32), nullable=False)
    register_date = Column(DATE, nullable=False)
    gender = Column(Enum('F', 'M'), nullable=False)

    def __repr__(self):
        return "id:%s name:%s register_date:%s gender:%s" \
               %(self.id,self.name, self.register_date, self.gender)

class Score(Base):
    __tablename__ = "score"
    id = Column(Integer, primary_key=True)
    day = Column(Integer, nullable=False)
    name = Column(String(32), nullable=False)
    score = Column(Integer, nullable=False)
    stu_id = Column(Integer, ForeignKey("student.id"))

    def __repr__(self):
        return "id:%s day:%s name:%s score:%s stu_id:%s" \
               %(self.id, self.day, self.name, self.score, self.stu_id)

# 创建表
Base.metadata.create_all(engine)
创建表

相关文章: