一周学会Flask3 Python Web开发-SQLAlchemy定义数据库模型

锋哥原创的Flask3 Python Web开发 Flask3视频教程:

2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

用来映射到数据库表的Python类通常被称为数据库模型( model ),一个数据库模型类对应数据库中的一个表。定义模型即使用Python类定义表模式,并声明映射关系。所有的模型类都需要继承Flask-SQLAIchemy提供的db.Model基类。

student.py下新建GradeModel模型:

python 复制代码
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
相关推荐
极客小张5 小时前
【项目思路】基于STM32+ZigBee的智能家居--浴室场景设计
c语言·python·stm32·智能家居·课程设计·项目设计·企业项目
THMAIL10 小时前
机器学习从入门到精通 - 机器学习调参终极手册:网格搜索、贝叶斯优化实战
人工智能·python·算法·机器学习·支持向量机·数据挖掘·逻辑回归
ERP老兵-冷溪虎山10 小时前
Python/JS/Go/Java同步学习(第三篇)四语言“切片“对照表: 财务“小南“纸切片术切凭证到崩溃(附源码/截图/参数表/避坑指南/老板沉默术)
java·javascript·python·golang·中医编程·四语言同步学习·职场生存指南
科技树支点10 小时前
无GC的Java创新设计思路:作用域引用式自动内存管理
java·python·go·web·编程语言·编译器
THMAIL11 小时前
机器学习从入门到精通 - 集成学习核武器:随机森林与XGBoost工业级应用
人工智能·python·算法·随机森林·机器学习·集成学习·sklearn
程序员miki12 小时前
Pytorch的CUDA版本安装使用教程
人工智能·pytorch·python
小冷coding13 小时前
随时随地写代码:Jupyter Notebook+cpolar让远程开发像在本地一样流畅
ide·python·jupyter
偷心伊普西隆13 小时前
Pandas DataFrame 指南
python·数据分析·pandas
Yokon_D13 小时前
Pycharm终端pip install的包都在C:\Users\\AppData\Roaming\Python\解决办法
python·pycharm·pip
爱补鱼的猫猫14 小时前
pytorch可视化工具(训练评估:Tensorboard、swanlab)
人工智能·pytorch·python