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')
    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    Silverlight 自定义表格 转
    Application_BeginRequest事件过滤恶意提交
    存储过程学习1
    我是博客园新博客
    努力将SQL Server像玩游戏一样熟练
    【Demo 0003】支持交互的应用
    【Demo 0003】支持交互的应用
    linux终端快捷键
    vim与windows/linux之间的复制粘贴小结
    vimgrep简单使用
  • 原文地址:https://www.cnblogs.com/chao666/p/12424972.html
Copyright © 2011-2022 走看看