flask 多对多 数据库
多对多建立方式
from .exts import db
from enum import Enum
class GenderEnum(Enum):
MALE = '男'
FEMALE = '女'
# 中间表:收藏表
collect = db.Table(
'collects',
db.Column('user_id', db.Integer, db.ForeignKey('tb_movie_users.id'), primary_key=True),
db.Column('movie_id', db.Integer, db.ForeignKey('tb_movie.id'), primary_key=True),
)
# 电影用户模型
class MovieUserModel(db.Model):
__tablename__ = "tb_movie_users"
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
username = db.Column(db.String(30), unique=True, index=True)
age = db.Column(db.Integer, default=1)
gender = db.Column(db.Enum(GenderEnum))
# 电影模型
class MovieModel(db.Model):
__tablename__ = "tb_movie"
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
movie_name = db.Column(db.String(30), unique=True, index=True)
# 关联
movie_users = db.relationship('MovieUserModel', backref='movies', lazy='dynamic', secondary=collect)