添加外键
- db.ForeignKey(‘users.id’)
- article 依赖于author
- 文章与作者是多对一 多方引用少方的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'))
添加映射关系
- 给Article添加一个author对象属性
- 通过backref相当于给Users添加一个articles 文章对象列表
author = db.relationship('Users',backref=db.backref('articles'))
这是添加到Article模型中的属性
参数Users是模型名称而不是数据库表名
参数articles可以理解为添加在Users模型中的Article对象列表的名称 为了可读性更好起名articles,也可以起别的名字
从Java的ORM框架MyBatis使用的模型类角度来理解