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

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

    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    简单四则运算实现--第二次作业
    人生第一篇博客
    团队任务1:第一次团队会议
    第二次作业
    自我介绍
    五号团队—团队任务4:每日立会(2018-11-27)
    软件设计与开发准备
    原型设计与UI设计
    第一次团队会议
    课后作业2
  • 原文地址:https://www.cnblogs.com/chao666/p/12424957.html
Copyright © 2011-2022 走看看