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')
    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    观察者模式
    php中compact,extract,list函数的使用
    加密解密
    python 线程池proxypool
    python qq音乐下载
    python 网易云音乐
    python 知识点
    python 格式化 header
    python 爬取百度图片
    php 过滤掉多维数组空值
  • 原文地址:https://www.cnblogs.com/chao666/p/12424972.html
Copyright © 2011-2022 走看看