软件测试学习笔记丨Flask操作数据库-对象与数据模型
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/23440
对象与数据模型
数据模型:是数据特征的抽象,抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架
Flask-SQLAlchemy属性字段的定义
- 通常类的属性相当于表的一个字段
- 定义的属性方式为name=Column(参数的类型,其他的属性)
常用的参数类型:(用于指定表字段的类型)
| 参数类型 | 含义 |
|---|---|
| Integer | 整型字段定义 |
| String(10) | 字符串字段定义,括号内的数字为字符串的最大长度 |
| JSON | json字符串字段 |
| DateTime | 时间格式字段 |
常用的关键字参数:(用于对字段添加约束)
| 参数类型 | 含义 |
|---|---|
| primary_key | 是否主键 |
| autoincrement | 是否自增 |
| nullable | 是否允许为空 |
| unique | 是否允许重复 |
| default | 默认值 |
# 导入Flask的类
from flask import Flask
# 实例化 Flask的类,并且绑定module
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import *app = Flask(__name__)# mysql数据库库用户名
username = "root"
# mysql 数据库密码
pwd = "123456"
# mysql 数据库host地址
ip = "127.0.0.1"
# mysql 数据库端口
port = "3306"
# 代码使用的数据库名
database = "first"
# 设置mysql 链接方法是
app.config['SQLALCHEMY_DATABASE_URI'] = f'mysql+pymysql://{username}:{pwd}@{ip}:{port}/{database}?charset=utf8'
# 定义应用使用数据库的配置
# 设置SQLALCHEMY_TRACK_MODIFICATIONS参数 不设置该配置的时候会抛出警告
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
# 将app与flask-SQLAlchemy的db进行绑定
db = SQLAlchemy(app)# 每个类表示一张表
class User(db.Model):# 创建字段id = Column(Integer, primary_key=True)username = Column(String(80))email = Column(String(80))# 魔法函数,可以将想要的内容打印出来def __repr__(self):return f'<User {self.username},{self.email}>'if __name__ == '__main__':# 创建表with app.app_context():db.create_all()user = User(username="hogwarts", email="1254236457@qq.com")print(user)

推荐学习
【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)
【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试
【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff
【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享
【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装
【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?
【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!
【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我
【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化
【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试
【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !
【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置
【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)
相关文章:
软件测试学习笔记丨Flask操作数据库-对象与数据模型
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/23440 对象与数据模型 数据模型:是数据特征的抽象,抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架…...
IntelliJ IDEA使用 MybatisX-Generator 插件 自动生成Entity+Mapper+Mapper.xml等代码
一、Intellij安装MybatisX插件: 首先点击 Intellij->Preference->Plugins,然后搜索MybatisX,点击安装: 2 打开数据库 在IntelliJ IDEA 连接Mysql数据库,选择表,点击右键,选择 Mybatis…...
vue中如何为不同功能设置不同的默认打印设置(设置不同的打印机)
浏览器自带的window.print 功能较简单,这里使用LODOP露肚皮打印 以下是vue2示例: 从官网中下载Lodop和C-Lodop官网主站安装包并安装到本地电脑可以全局搜索电脑找到安装文件LodopFuncs.js,也可以直接复制我贴出来的文件 //用双端口加载主JS…...
经纬恒润INTEWORK-VBA新版本正式发布
在汽车电子研发领域,随着开发测试的深入,工程师们常常面临着一个共同的问题:如何高效地在多样化的开发测试场景中切换,并确保不同工具间的紧密协作。不同场景、不同工具的切换与使用给工程师带来高昂的学习成本和前后端信息传递的…...
金蝶云数据集成至MySQL的高效解决方案
金蝶云数据集成至MySQL的高效解决方案 金蝶云星空数据集成到MySQL的技术案例分享 在企业信息化过程中,数据的高效集成和管理是关键环节。本文将聚焦于一个具体的系统对接集成案例:金蝶云星空的数据如何通过轻易云数据集成平台无缝对接到MySQL数据库。本…...
Day02 C++ 环境设置
2024.11.1 C 环境设置 如果您想要设置 C 语言环境,需要确保电脑上有以下两款可用的软件,文本编辑器和 C 编译器。 一、文本编辑器 通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。 C 程序的源文件通常使用扩展名 .cpp、.cp 或…...
AQS是什么
AQS:AbstructQueuedSynchronizer是java.util.concurrent.locks包中的一个类,是多线程同步器,J.U.C包中的多个组件的底层实现都使用到了它。如:Lock、CountDownLatch、Semaphore. 从本质上来说AQS实现了两种机制的锁,排…...
Spring IOC容器简介
Spring IoC(Inversion of Control,控制反转)容器是Spring框架的核心组件之一,负责管理应用程序中的对象及其依赖关系。IoC容器通过依赖注入(Dependency Injection,DI)实现对象的创建、配置和管理…...
【backstopjs】入门安装环境
1.首先全局安装BackstopJS npm install -g backstopjs 安装失败,常见报错&解决办法: 报错: (venv) D:\workspace\Otaku\backstop>npm install -g backstopjs npm warn deprecated inflight1.0.6: This module is not supported, and leaks mem…...
LocalDate 类常用方法详解(日期时间类)
LocalDate 类常用方法详解 LocalDate 是 Java 8 引入的日期时间API中的一个类,用于表示不含时间和时区的日期(年、月、日)。以下是一些常用的 LocalDate 方法: 创建 LocalDate 实例 now():获取当前日期 LocalDate t…...
kmp desktop实现excel预览
先将excel转paf https://blog.csdn.net/qq_42761569/article/details/121699594 package utilimport com.aspose.cells.License import com.aspose.cells.PdfSaveOptions import com.aspose.cells.Workbook import com.geolo.desktop.common.utils.LogUtils import java.io.Fi…...
OB_GINS_day3
这里写目录标题 实现当前状态初始化实现预积分的初始化由于此时preintegration_options 是3(也就是考虑odo以及earth rotation)为预积分的容器添加需要积分的IMU积分因子接下来是添加新的IMU到preintegration中 实现当前状态初始化 这个state_curr的主要…...
【Python3】【力扣题】405. 数字转换为十六进制数
【力扣题】题目描述: 题意理解:(不允许使用库函数) 数字等于0,则结果为0, 数字小于0,则补码运算,即最高位(32位)为1,其余全部取反,再加…...
记录一次企业外部通过ssh 连接数据库的事DBeaver
情况大概是这样,公司算法供应商开通了连接某个服务器A的权限,但是数据库x是在另一台服务器B上。 直接通过外部连接数据库是不行的,需要借用服务器A来进行访问x 使用软件:DBeaver, 数据库x类型:oracle 需要的信息&am…...
中聚企服:中聚AI女娲大模型,企业难题迎刃而解!
在这个瞬息万变的商业世界里,企业面临的挑战愈发复杂多样。小到日常文书和规章制度,大到工商财税和知识产权保护,每一个环节都至关重要。为了帮助中小企业在激烈的市场竞争中脱颖而出,中聚企服在官方小程序重磅上线了一款革命性产…...
对镜像精简
dive工具,用来优化镜像大小 ENV命令合并 ENV DEBUG_PORT8777 \HTTP_PORT12080 \PROGRAM_FILE_HOME_UPORTAL_CONF/home/zenap/uportal/confWORKDIR usr/src/app,会切换到这个目录 使用COPY --chown 修改属主,不要使用RUN chown 容器内非root…...
老电脑不能装纯净版windows
手上有一台2016年的老笔记本电脑,用了8年,基本上能换的都换了一遍,散热风扇换了,键盘换了,屏幕换了,扬声器也换了,内存也换大了,甚至都换过固态硬盘,但是CPU没法换&#…...
在Python中实现一个简单的社交媒体应用
在Python中实现一个简单的社交媒体应用 社交媒体应用是现代互联网的重要组成部分,允许用户分享信息、交流和互动。在这篇博文中,我们将使用Python构建一个简单的社交媒体应用,涵盖用户注册、发布动态、评论和查看动态等基本功能。我们将使用Flask框架作为后端,SQLite作为数…...
pytest高版本兼容test_data[“log“] = _handle_ansi(“\n“.join(logs))错误
一、问题现象: 执行seleniumpytest结束时报: INTERNALERROR> File "D:\workspace\pytestframe\.venv\Lib\site-packages\pytest_html\report_data.py", line 141, in add_test INTERNALERROR> test_data["log"] _handle_ansi(&q…...
Redis技术入门与实践指南
一、Redis基础知识 1、概念 Redis是一个开源的、遵循BSD协议的、基于内存的而且目前比较流行的键值数据库(key-value database),是一个非关系型数据库,redis 提供将内存通过网络远程共享的一种服务,提供类似功能的 还有memcached࿰…...
GEE实战:手把手教你用Sentinel-2数据计算植被覆盖度(附完整代码与避坑指南)
GEE实战:从零到一掌握Sentinel-2植被覆盖度计算全流程 清晨的阳光透过实验室的窗户洒在桌面上,一位生态学研究生正盯着电脑屏幕发愁——导师要求她在一周内完成研究区域的植被覆盖度分析,但GEE平台上那些晦涩的代码和突如其来的报错信息让她手…...
【Spring Boot 3 + Vue 3】宠物医院智能诊疗管理系统 全功能展示 | 前后端分离实战
宠物医院智能诊疗管理系统 — Spring Boot 3 Vue 3 全栈实战 项目简介基于 Spring Boot 3 Vue 3 Bootstrap 5 MyBatis-Plus MySQL 构建的宠物医院智能诊疗管理系统,采用前后端分离架构,实现了从游客浏览、在线预约、诊疗记录到物资管理的完整业务闭…...
2026.4.3要闻
百度首页 哈哈哈分享万岁 最大、首艘!中国“超级装备”密集上新 正观新闻 2026-04-03 07:52正观新闻官方账号 关注 近日,国内高端装备制造领域迎来密集突破,多款具有里程碑意义的新产品相继首发、试航或“上岸”。一系列“超级装备”的亮相,彰显了我国自主研发与制造…...
零基础小白必看!PyTorch 2.6 镜像一键部署,开箱即用
零基础小白必看!PyTorch 2.6 镜像一键部署,开箱即用 1. 为什么选择PyTorch 2.6镜像? PyTorch作为当前最流行的深度学习框架之一,其2.6版本带来了多项性能优化和新特性。但对于初学者来说,手动配置PyTorch环境往往是个…...
Alibaba DASD-4B Thinking 对话工具入门:Anaconda虚拟环境配置与模型调用
Alibaba DASD-4B Thinking 对话工具入门:Anaconda虚拟环境配置与模型调用 想试试最新的对话模型,但被复杂的依赖和版本冲突搞得头大?这感觉我太懂了。很多朋友在接触像Alibaba DASD-4B这类大模型时,第一步就卡在了环境配置上&…...
使用OpenGL纹理数组实现高精度实时Lut滤镜
之前写过的文章(使用OpenGL实现滤镜转换的一种思路_轮子初级玩家-CSDN博客),我把一整个Lut滤镜图作为单个纹理贴图,把图像原颜色采样后当作坐标,然后从lut纹理中查找出替换颜色实现滤镜功能,这是最简易的一种滤镜实现方式…...
Apache NetBeans社区生态解析:如何参与贡献与获取支持
Apache NetBeans社区生态解析:如何参与贡献与获取支持 【免费下载链接】netbeans Apache NetBeans 项目地址: https://gitcode.com/gh_mirrors/ne/netbeans Apache NetBeans作为一个功能强大的开源IDE(集成开发环境),拥有一…...
终极Windows Defender禁用工具:一键提升系统性能的完整解决方案
终极Windows Defender禁用工具:一键提升系统性能的完整解决方案 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mi…...
51单片机实战:基于XPT2046的多传感器AD转换与LCD显示
1. 项目背景与核心器件选型 第一次接触51单片机AD转换时,我被各种专业术语搞得一头雾水。直到用XPT2046芯片完成了电位器、光敏电阻、热敏电阻的三路信号采集,才真正理解模拟信号数字化的奥妙。这个成本不到5元的触摸屏控制芯片,其实是个隐藏…...
车载测试CAPL编程实战:结构(Struct)在车辆信号解析中的应用
1. 为什么车载测试需要结构(Struct)? 在车载测试领域,我们每天要处理海量的车辆信号数据。想象一下,一辆普通家用车的CAN总线上,每秒可能产生上千条报文,每条报文又包含多个信号值。比如发动机转…...
