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')
    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    TOP 100 SOFTWARE VENDORS (ZZ)
    数列总结函数——取余分析
    科克曼女生问题
    约瑟夫问题(猴子选王)——多种解法
    乒乓球与羽毛球不同发球规则下选手的胜率——概率论+程序分析
    Codeblocks快捷键
    常用陌生快捷键
    Dev使用技巧
    vueDemo补充
    vueDemo
  • 原文地址:https://www.cnblogs.com/chao666/p/12424972.html
Copyright © 2011-2022 走看看