一周学会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
相关推荐
三年呀19 分钟前
**标题:发散创新之力,探索隐私计算的未来**隐私计算,作为当下数字化时代的热门话题,正受
python
R-G-B1 小时前
OpenCV Python——报错AttributeError: module ‘cv2‘ has no attribute ‘bgsegm‘,解决办法
人工智能·python·opencv·opencv python·attributeerror·module ‘cv2‘·no attribute
DavieLau1 小时前
C#项目WCF接口暴露调用及SOAP接口请求测试(Python版)
xml·服务器·开发语言·python·c#
白露与泡影2 小时前
Spring容器初始化源码解析
java·python·spring
码界筑梦坊2 小时前
98-基于Python的网上厨房美食推荐系统
开发语言·python·美食
计算机源码社2 小时前
分享一个基于Hadoop的二手房销售签约数据分析与可视化系统,基于Python可视化的二手房销售数据分析平台
大数据·hadoop·python·数据分析·毕业设计项目·毕业设计源码·计算机毕设选题
lpfasd1233 小时前
非中文语音视频自动生成中文字幕的完整实现方案
开发语言·python
大志说编程3 小时前
LangChain框架入门15:深度解析Retrievers检索器组件
python·langchain·llm
NEUMaple3 小时前
python爬虫(四)----requests
开发语言·爬虫·python
bluebonnet274 小时前
【Python】一些PEP提案(六):元类、默认 UTF-8、Web 开发
开发语言·前端·python