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

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

    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    第六章 条件处理
    VS2019配置MKL教程(Windows)
    攻防世界--srm-50
    攻防世界--The_Maya_Society
    攻防世界--re1-100
    BUUCTF--findit
    凯撒加密与解密实现
    BUUCTF--rsa
    正则表达式
    PyQuery详解
  • 原文地址:https://www.cnblogs.com/chao666/p/12424957.html
Copyright © 2011-2022 走看看