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')

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

    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    c/c++基础 输入函数/流
    数据库的码/键
    sql plus笔记
    cmd delete oracle related
    CAN总线
    SAR ADC : 逐次逼近寄存器型(SAR)模数转换器(ADC)
    Cortex-M3寄存器等基础知识
    Cortex-M3知识点
    ARM指令和Thumb指令区别
    8051、ARM、AVR
  • 原文地址:https://www.cnblogs.com/chao666/p/12424957.html
Copyright © 2011-2022 走看看