zoukankan      html  css  js  c++  java
  • Flask框架之多对多关系模型类的定义

    案例代码:

    table_relation = db.Table('stu_tea_rel',  # 关系表明
                              db.Column('stu_id', db.Integer, db.ForeignKey('student.id')), # 多关系表的主键
                              db.Column('tea_id', db.Integer, db.ForeignKey('teacher.id')))    # 多关系表的主键
    
    
    class Student(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(20))
    
    
    class Teacher(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(20))
        students = db.relationship('Student',
                                   backref='teacher',
                                   lazy='dynamic')

    代码分析:

    1. 分别创建两个多关系模型

    class Student(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(20))
    
    
    class Teacher(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(20))

    2. 创建多对多关系表

    table_relation = db.Table('stu_tea_rel',
                              db.Column('stu_id', db.Integer, db.ForeignKey('student.id')),
                              db.Column('tea_id', db.Integer, db.ForeignKey('teacher.id')))

    3. 在模型类中添加多对多关系字段

    class Teacher(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(20))
        students = db.relationship('Student',
                                   backref='teacher',
                                   lazy='dynamic')

    这个关系字段在两个多对多关系模型中任选一个定义即可。

    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    2.2 与球体相交-几何解
    2.1 与球体的交点 -代数解
    2 必要的光线追踪算法=>光线球体的相交和映射
    3.1 Matrix Properties
    chapter 3:Matriices
    4.8 渲染方程
    webstorm 皮肤(Sublime text)设置
    数字键盘(纯js)
    ios中设置readonly还会有光标?
    JS重要的坑
  • 原文地址:https://www.cnblogs.com/chao666/p/12424957.html
Copyright © 2011-2022 走看看