3、insert insert 只插入数据而不创建模型实例,返回新行的主键。...例如用的是 SQLite,执行上述代码之后,print(data[0].id) 显示的结果是 None。...2、get_or_none 如果当获取的结果不存在时,不想报错,可以使用 Model.get_or_none() 方法,会返回 None,参数和 get 方法一致。...当查询不到结果时,不报错,返回 None。并且 select() 结果是延时返回的。如果想立即执行,可以调用 execute() 方法。...,因此 peewee 将使用 SQLite GLOB 操作进行区分大小写的搜索。
前言 最近在开发QA平台的时候,有这样一个需求,就是将后端的数据实现分页,同时前端使用分页参数实现分页数据的获取和渲染。...环境准备 项目结构 后端 后端我们采用flask实现,结合peewee实现SQLite的分页查询。使用flask-cors解决跨域问题。...# dev_env:python@3 # 安装flask和flask-cors pip install flask pip install flask-cors 代码web/DbAction/User.py...from peewee import * from datetime import date from playhouse.migrate import * # 如果db不存在,会自动创建 db =...,page: true ,done: function(res, curr, count){ //如果是异步请求数据方式,res即为你接口返回的信息
SQLite:轻量级的关系型数据库管理系统。MongoDB:流行的文档数据库。Redis:流行的键值存储数据库。选择哪种数据库主要取决于应用程序的需求。...Peewee:轻量级ORM,支持多种关系型数据库。PyMongo:MongoDB的Python驱动程序。Flask-SQLAlchemy:基于SQLAlchemy的Flask扩展。...选择哪种ORM主要取决于开发人员的偏好和应用程序的需求。SQLAlchemy和Peewee提供了大量的功能和灵活性,但是也有较高的学习曲线。...PyMongo和Flask-SQLAlchemy则提供了更简单的API和易于使用的功能。数据库和ORM的安装在选择了要使用的数据库和ORM之后,需要安装相应的库和驱动程序。...我们还定义了一个路由,该路由返回“Hello World!”。
ORM库将数据库表和Python类映射到一起,使我们能够使用Python对象来操作数据库表。常用的ORM库包括SQLAlchemy和Peewee等。...'] = 'sqlite:///my_app.db'db = SQLAlchemy(app)class User(db.Model): id = db.Column(db.Integer, primary_key...在类中,我们定义了三个属性:id、name和email,这些属性将映射到数据库表的列。我们还定义了一个__repr__()方法,该方法在打印User对象时返回用户名称。...以下是一个使用SQLAlchemy的例子:from flask import Flask, jsonifyfrom models import db, Userapp = Flask(__name__)...我们在Flask应用程序中定义了一个名为get_users()的路由函数,该函数查询所有用户,并使用jsonify()函数将结果转换为JSON格式。
一般来说是迭代(循环)和递归两种解法。不过我当年看到这道题的时候,就觉得这个很适合用面向对象的思想来实现,因为母牛就是一种类型,每头母牛都是这个类型的一个实例。这个思路你也可以考虑下。...详细解答和参考代码将在下次栏目中给出,也可以其他同学在留言中的代码。 期待各位同学提交解答,更期待你能完成整个系列。...;'''cursor.execute(insert_cmd, (word, t, ph, chs))conn.commit() 特别说明下:Linux 和较新版的 Mac 系统都默认装有 SQLite,...另外 Python 直接带有对 SQLite 的支持,无需再安装其他模块。 如上述代码,直接对数据库进行读写操作,你还需要了解一点 SQL 语句的基本语法。...和 peewee 的详细介绍可从上面提供的文章链接进入查看。
我总体感觉(peewee像 Django-ORM的分离版,,但比Django-ORM和SqlAlchemy 小巧,简单,文档也友好) 还有一个更重要的感觉就是, peewee 的 API方法名 和 SQL...安装和导入 pip install peewee from peewee import * # peewee的模块很结构化,都在peewee中,如果懒就都导入进来。...数据库 postgresql 和 sqlite peewee 只支持 sqlite, mysql 和 postgresql 数据库, 如果你有需求用oracle等,请绕行。。。...如需sqlite 和 postgresql,配置请参考 http://docs.peewee-orm.com/en... mysql 当然我经常用MySQL,以后的所有都围绕mysql来讲,如下是基本配置...就算你用 commit() 夹, 如果自己层内没有 rollback(), 那么你的 commit()是无效的(夹不住) 事务就差不多这些,官档还有一些用法和语法,但最终功能结果都是一样的。
在这篇博文中,我向大家揭示 这7 个 Python 类库,其中不包括像 Django,Flask 等已广为熟知的库,这些类库在 2017 年受到了众多开发者的关注,值得 Python 开发者参考和关注。...Zappa 同样也是很快的,可扩展的。 #4 Peewee Peewee 是 Python 生态中简单的,富有表现力的 ORM ,它支持 SQLite,MySQL 和 PostgreSQL。...数据库经常需要为应用去使用扩展的数据。不过,通过 ad hoc 连接串去 get 和 set 数据库中的数据是一项非常有挑战的任务。这种情况下,Peewee 就可以帮很大的忙了。...开发者们以前用 SQLAlchemy 已经创建了一个数据库,应该会觉得使用 Peewee 创建数据库是更容易的。另外,Peewee 一直以来都适用于 Flask web 框架。...点击这里学习如何在 Peewee 中创建一个数据库 #5 Sanic + uvloop Sanic 是一个与 Flask 类似,基于 uvloop 的 web 框架,它能让 Python 更快速。
2.1 创建数据表 利用peewee构建数据表,需要定义相应的Model类,在类中构建的属性即对应表中的字段,并且在Meta类中定义其他的一些属性,譬如下面的例子我们就以最简单的SQLite数据库为例...,便会在关联到的SQLite数据库中创建对应的表: ?...2.5 对表中数据进行查询 作为增删改查中使用频次最高的查,在peewee中涉及到的知识内容非常之庞大,但基础的格式都是利用select()方法,常用的有以下方式: # 获取查询结果方式1: query_results...利用pwiz生成Model类的参数和用法可参考官方文档http://docs.peewee-orm.com/en/latest/peewee/playhouse.html#pwiz-a-model-generator...以上就是本文的全部内容,欢迎在评论区发表你的意见和想法。
2.1 创建数据表 利用peewee构建数据表,需要定义相应的Model类,在类中构建的属性即对应表中的字段,并且在Meta类中定义其他的一些属性,譬如下面的例子我们就以最简单的SQLite数据库为例:...,便会在关联到的SQLite数据库中创建对应的表: 图3 而除了最简单的SQLite之外,peewee还支持MySQL、PostgreSQL,你可以在http://docs.peewee-orm.com...2.5 对表中数据进行查询 作为「增删改查」中使用频次最高的「查」,在peewee中涉及到的知识内容非常之庞大,但基础的格式都是利用select()方法,常用的有以下方式: # 获取查询结果方式1: query_results...2.6 基于已存在的表逆向生成Model 如果你的数据库表已然存在,又希望生成相应的Model类,peewee提供了命令行工具帮我们做这件事,以SQLite为例: python -m pwiz -e sqlite...利用pwiz生成Model类的参数和用法可参考官方文档http://docs.peewee-orm.com/en/latest/peewee/playhouse.html#pwiz-a-model-generator
在这篇博文中,我向大家揭示 7 个 Python 类库,其中不包括像 Django,Flask 等已广为熟知的库,这些类库在 2017 年可能值得 Python 开发者参考。...Zappa 同样也是很快的,可扩展的。 4、Peewee Peewee 是 Python 生态中简单的,富有表现力的 ORM ,它支持 SQLite,MySQL 和 PostgreSQL。...数据库经常需要为应用去使用扩展的数据。不过,通过 ad hoc 连接串去 get 和 set 数据库中的数据是一项非常有挑战的任务。这种情况下,Peewee 就可以帮很大的忙了。...开发者们以前用 SQLAlchemy 已经创建了一个数据库,应该会觉得使用 Peewee 创建数据库是更容易的。另外,Peewee 一直以来都适用于 Flask web 框架。...5、Sanic + uvloop Sanic 是一个与 Flask 类似,基于 uvloop 的 web 框架,它能让 Python 更快速。
,但这一次是由flask路由的页面。...我们的需求是:远程连接一台服务器,获取该服务器的负载和磁盘使用空间,存到本地数据库以返回给前端页面。 首先,我们需要一个配置文件以保存服务器密码,我们使用configparser这个包来实现这个功能。...在backend文件夹新建一个文件monitor.config,并写入服务器连接密码: [config] SERVER_PASS=123456 而对于数据的存取,我们使用sqlite作为数据库,peewee...这个包作为ORM,本文中我们建了包含磁盘容量、已用容量和更新时间的表”system_disk_monitor”和包含当前负载、用户连接数、更新时间的表”system_uptime”。...sqlite数据库文件保存在backend目录下: 接着,我们开始编写后端的业务代码。
db_dir, "data.sqlite") 知识点笔记 笔记与下面的实列是对应的 # Windows下flask启动: # set FLASK_APP=sql_test.py # flask run...query对象中all()方法查询查询相应表中所有记录:Role.query.all(),这里的all()是返回所有的结果,还有一个是first()方法,其表示只返回第一个结果,如果没有取到结果则返回None...,返回一个新查询 # filter_by() 把等值过滤器添加到原查询上,返回一个新查询 # limit() 使用指定的值限制原查询返回的结果数量,返回一个新查询 # offset() 偏移原查询返回的结果...# first() 返回查询的第一个结果,如果没有结果,则返回None # first_or_484() 返回查询的第一个结果,如果没有结果,则终止请求,返回404错误响应 # get() 返回指定主键对应的行...,如果没有对应的行,则返回None # get_or_484 返回指定主键对应的行,如果没有找到指定的主键,则终止请求,返回404错误响应 # count() 返回查询结果的数量 # paginate(
flask-cache里有一种cache方式叫Memoization,它可以简单地用Decorator的方式放在任意函数上。根据函数参数的值,来缓存函数的结果。...example,其缓存了has_membership函数,当我们调用has_membership(1)的时候,就缓存下50秒这个函数的返回值。...那么下次再调用has_membership(1)的时候,就会直接返回缓存的结果,但如果你调用has_membership(2),就是另一个缓存了。...不过总代码量也不大,整个view + model也只有700行代码左右,需要改动的部分不超过200行。重构过程还改进了很多功能、用户体验方面的问题(主要是后台)。...重构后的sec-news还是用ORM,我在peewee和sqlalchemy中选择了后者,因为flask-sqlalchemy是一个比较成熟的搭配,在实际开发中我比较看重稳定性,虽然个人感觉peewee
) app = Flask(name) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, '...name='User').first() filter() filter_by() limit() offset() order_by() group_by() ---- all() 以列表形式返回查询的所有结果...first() 返回查询的第一个结果,如果没有结果,则返回None first_or_404() 返回查询的第一个结果,如果没有结果,则终止请求,返回404 错误响应 get() 返回指定主键对应的行...,如果没有对应的行,则返回None get_or_404() 返回指定主键对应的行,如果没找到指定的主键,则终止请求,返回404 错误响应 count() 返回查询结果的数量 paginate()...返回一个Paginate 对象,它包含指定范围内的结果 6、 ?
,但这一次是由flask路由的页面。...我们的需求是:远程连接一台服务器,获取该服务器的负载和磁盘使用空间,存到本地数据库以返回给前端页面。 首先,我们需要一个配置文件以保存服务器密码,我们使用configparser这个包来实现这个功能。...在backend文件夹新建一个文件monitor.config,并写入服务器连接密码: [config] SERVER_PASS=123456 而对于数据的存取,我们使用sqlite作为数据库,peewee...这个包作为ORM,本文中我们建了包含磁盘容量、已用容量和更新时间的表”system_disk_monitor”和包含当前负载、用户连接数、更新时间的表”system_uptime”。...sqlite数据库文件保存在backend目录下: ? 接着,我们开始编写后端的业务代码。
python有哪些流行的orm框架Python中流行的ORM框架包括: SQLAlchemy:这是一个功能强大且灵活的ORM库,支持多种数据库后端,如MySQL、PostgreSQL、SQLite等。...Peewee:这是一个轻量级的ORM,学习成本低,支持事务、连接池和常用数据库。Peewee提供简单的查询API,适合小型项目。...缺点:灵活性差,复杂查询支持不足,仅适用于Django项目。适用场景:Django项目,尤其是需要快速开发的中小型应用。 Peewee: 优点:轻量级,易学易用,适合小型项目。...根据搜索结果,以下是几个流行的Python ORM框架的易用性对比: Django ORM:Django ORM以其易用性而闻名,它提供了直观的模型定义和查询API。...仅适用于Django项目,对于非Django项目则不适用。 Peewee: 轻量级,代码量少,依赖简单,适合快速开发和小型项目。易学易用,API设计直观,易于理解和使用,文档全面。
文章目录[隐藏] 简介 示例 项目地址 老物搬运23333 简介 基于python实现的sqlite队列,方便的处理sqlite并发。并且包含一个十分简洁好用的SQL语句包装。...而且大部分代码都是在手机的QPython上完成的,于是质量可想而知(不过我尽量都改掉了QAQ)。 示例 一个简单的队列可以在两行代码实现。...import sqlite_queue queue = sqlite_queue.SqliteQueue('test.db') queue.start() 以下是一个完整的示例: import sqlite_queue...其实回调也是很棒的,比如INSERT语句就可以返回当且操作的行数。具体的文档看这里:WIKI-回调函数。...对了,peewee也是支持哒~ 项目地址 https://gitee.com/kaaass/sqlite_queue_python 欢迎各位前往Star、Fork!
有时候不去看 Django 的代码,因为日常工作基本遇不到,遇到了现翻就好了。 一个方向只看一两个典型的就可以了。比如 Web 框架只看过 Bottle 和 Flask 的源码。...mitsuhiko flask、Jinja2、werkzeug 和 flask-sqlalchemy 作者。...多行,当然如果你有毅力和兴趣直接看 flask 是最好了的。...coleifer/peewee(https://github.com/coleifer/peewee) 了解 ORM 的实现。...Less, 它里面包含了 22 个由该领域的专家完成,用不到 500 行的代码实现一个特定功能的子项目。
但是开发方式和最流行的微框架flask不同,flask开发简单,轻量,高效。 微服务是最近最火开发模式,它解决了复杂性问题,提高开发效率,便于部署等优点。...正是结合这些优点, 以Sanic为基础,集成多个流行的库来搭建微服务。 Sanic框架是和Flask相似的异步协程框架,简单轻量,并且性能很高。 本项目就是以Sanic为基础搭建的微服务框架。...ORM使用peewee, 只是用来做模型设计和migration, 数据库操作使用asyncpg。...数据 produces: response的返回数据 tag: API标签 在consumes和produces中传入的参数可以是peewee的model,会解析model生成API数据, 在field...数据 在返回时,不要返回sanic的response,直接返回原始数据,会在Middleware中对返回的数据进行处理,返回统一的格式,具体的格式可以[查看] 单元测试 单元测试使用unittest
if __name__ == '__main__': app.run() 这个简单的应用程序创建了一个基本的HTTP服务器,当访问根URL时,它会返回"Hello, World!"。...路由和视图函数 在Web应用中,路由用于将不同的URL映射到相应的处理函数(视图函数)。让我们创建一个带有多个路由的示例。...模板和渲染 Flask支持使用模板引擎来构建动态Web页面。以下是一个使用Jinja2模板引擎的示例,创建一个包含动态数据的页面。...数据库集成 对于许多Web应用,数据存储和检索是关键部分。Flask可以与各种数据库进行集成,最常见的是SQLite、MySQL和PostgreSQL。以下是一个使用SQLite数据库的示例。...总结 Python Web开发提供了众多工具和框架,使得构建动态Web应用变得更加容易。本文介绍了Flask框架的基础知识,包括路由、视图函数、模板、表单和数据库集成。
领取专属 10元无门槛券
手把手带您无忧上云