开发者学堂课程【Python Web 框架 Flask 快速入门:定义数据模型】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/603/detail/8796
定义数据模型
目录
一、定义数据模型
二、演示
一、定义数据模型
通过操纵模型和数据库字段发生关联,对于 SQLAlchemy 扩展模型的定义,可以根据下方表格中基本字段类型,选项和关系选项进行操作。
常用的 SQL Alchemy 列选项
选项名:primary-key
说明:如果为 True ,代表表的主键
选项名: unique
说明:如果为 True ,代表不允许出现重复的值
选项名: index
说明:如果为 True ,为这列创建索引,提高查询效率
选项名: default
说明:为这列定义默认值
常用的 SQL Alchemy 关系选项
选项名: backref
说明:在关系的另一模型中添加反向引用
选项名:Primary join
说明:明确指定两个模型之间使用的联结条件
选项名: order-by
说明:指定关系中记录的排序方式。
选项名: seconday
说明:指定多对多记录的排序方式。
二、演示
比如有两张表格,一张表格为角色,包括管理员和普通用户,另外一张表格为用户(角色 ID ),如下表所示
#数据库的模型,需要继承 db.Model
class Role(db.Model):
#定义表名
__tablename___ = 'roles"
#定义字段
# db.Column表示是一个字段
id = db.Column(db.Integer,,primary_key=True)
name = db.Column(db.String(16),unique=True)
class User(db.Model):
tablename _='users' I
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(16), unique=True)
# db.ForeignKey('roles.id')表示是外键,表名,id
role_id = db.Column(db.Integer, db.ForeignKey(' roles.id'))