一周学会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
相关推荐
特立独行的猫A4 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python
cpolar技术支持4 小时前
「我这边连不上你那个服务」—— 用清单驱动的 TCP 连通性只读看板,cpolar 让远端同事自己取证
python·内网穿透·tcp·cpolar·网络诊断
云和数据.ChenGuang5 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
天诰6 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
benchmark_cc7 小时前
用 QuantDash 读取美股行情:AAPL.US 的运行前检查、排错顺序与数据校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash
羲云网络10 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
橙橙笔记13 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
小小张说故事13 小时前
Python 的 class 语句到底执行了什么?拆开 __prepare__、metaclass.__new__ 和那个被讲反的 __set_name__ 顺序
python
天天被压力15 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力16 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python