SQLAlchemy外键约束

添加外键

  1. db.ForeignKey(‘users.id’)
  2. article 依赖于author
  3. 文章与作者是多对一 多方引用少方的ID作为外键
db = SQLAlchemy(app)

class Users(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(100), nullable=False)

class Article(db.Model):
    __tablename__ = "article"
    id =db.Column(db.Integer,primary_key=True, autoincrement=True)
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)
    author_id = db.Column(db.Integer, db.ForeignKey('users.id'))

添加映射关系

  1. 给Article添加一个author对象属性
  2. 通过backref相当于给Users添加一个articles 文章对象列表
author = db.relationship('Users',backref=db.backref('articles'))
--解释:
    这是添加到Article模型中的属性
    参数Users是模型名称而不是数据库表名
    参数articles可以理解为添加在Users模型中的Article对象列表的名称  为了可读性更好起名articles,也可以起别的名字
    从Java的ORM框架MyBatis使用的模型类角度来理解

你可能感兴趣的:(Flask)