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

    案例代码:

    #定义模型
    class BookInfo(db.Model):
        #设置表名
        __tablename__ = 'bookinfo'
        #设置为主键之后,自动自增长
        id = db.Column(db.Integer,primary_key=True)
        name = db.Column(db.String(20),unique=True,nullable=False)
        pub_date = db.Column(db.Date,nullable=True)
        readcount = db.Column(db.Integer,default=1)
        commentcount = db.Column(db.Integer,default=1)
        is_delete = db.Column(db.Boolean,default=False)
    
        # 定义一对多字段
        peopleinfo_set = db.relationship('PeopleInfo',      # 模型类名
                                         backref='book',    # 多关系模型中隐藏的对象字段
                                         lazy='dynamic')    # 是否惰性查询
    
        def __repr__(self):
            return self.name
    
    class PeopleInfo(db.Model):
        __tablename__ = 'peopleinfo'
        id = db.Column(db.Integer,primary_key=True)
        name = db.Column(db.String(20),unique=True)
        password = db.Column(db.String(20),nullable=False)
        email = db.Column(db.String(50),nullable=True)
        #设置外键
        book_id = db.Column(db.Integer,db.ForeignKey('bookinfo.id'))
    
        def __repr__(self):
            return self.name

    代码解析:

    只需要在一关系模型类中定义一个管理字段即可实现一对多关系模型的定义。

    多关系类名小写_set = db.relationship('多关系模型名',backref='关系对象',lazy='dynamic')
    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    浏览器 窗口 scrollTop 的兼容性问题
    document.documentElement.scrollTop || document.body.scrollTop;
    javascript函数querySelector
    :before和:after的内幕以及伪类
    css伪类伪元素
    JavaScript 运动框架 Step by step
    js中style,currentStyle和getComputedStyle的区别
    js函数变量
    函数
    oracle语法练习
  • 原文地址:https://www.cnblogs.com/chao666/p/12424972.html
Copyright © 2011-2022 走看看