一周学会Flask3-Python-Web开发-SQLAlchemy定义数据库模型
目录
一周学会Flask3 Python Web开发-SQLAlchemy定义数据库模型
锋哥原创的Flask3 Python Web开发 Flask3视频教程:
用来映射到数据库表的Python类通常被称为数据库模型( model ),一个数据库模型类对应数据库中的一个表。定义模型即使用Python类定义表模式,并声明映射关系。所有的模型类都需要继承Flask-SQLAIchemy提供的db.Model基类。
student.py下新建GradeModel模型:
class GradeModel(db.Model):
"""
班级模型
"""
__tablename__ = "t_grade"
id = db.Column(db.Integer, primary_key=True, autoincrement=True) # 主键id
name = db.Column(db.String(50), nullable=False) # 班级名称
remark = db.Column(db.Text) # 备注
SQLAlchemy常用的字段类型:
字段 | 说明 |
---|---|
Integer | 整数 |
String | 字符串,可选参数length可以用来设置最大长度 |
Text | 较长的Unicode文本 |
Date | 日期,存储Python的 datetime.date对象 |
Time | 时间,存储Python 的datetime.time对象 |
DateTime | 时间和日期,存储Python 的datetime对象 |
Interval | 时间间隔,存储Python的datetime.timedelta对象 |
Float | 浮点数 |
Boolean | 布尔值 |
PickleType | 存储Pickle列化的Python对象 |
LargeBinary | 存储任意二进制数据 |
常用的SQLAlchemy字段参数:
参数名 | 说明 |
---|---|
primary_key | 如果设为True,该字段为主键 |
unique | 如果设为True,该字段不允许出现重复值 |
index | 如果设为True,为该字段创建索引,以提高查询效率 |
nullable | 确定字段值可否为空,值为True或False,默认值为True |
default | 为字段设置默认值 |
autoincrement | 自增,默认False |