SQLAlchemy的使用---M2M多对多关系

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, ForeignKey
from sqlalchemy.orm import relationship
Base = declarative_base()


class Girls(Base):
    __tablename__ = 'girl'
    id = Column(Integer, primary_key=True)
    name = Column(String(32))

    # 创建关系  secondary 使用表名!!!
    girl2boy = relationship("Boys", secondary='hotel', backref='boy2girl')


class Boys(Base):
    __tablename__ = 'boy'
    id = Column(Integer, primary_key=True)
    name = Column(String(32))


class Hotel(Base):
    __tablename__ = 'hotel'
    id = Column(Integer, primary_key=True)
    girl_id = Column(Integer, ForeignKey('girl.id'))
    boy_id = Column(Integer, ForeignKey('boy.id'))

# 4.创建数据库连接
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:[email protected]:3306/my_sqlalchemy?charset=utf8')

# 5.
# 去engine数据库中创建所有继承Base类的ORM对象
Base.metadata.create_all(engine)

猜你喜欢

转载自www.cnblogs.com/Treasuremy/p/10385710.html
M2M
今日推荐