github地址:https://github.com/05bit/peewee-async

Install

Install with pip for PostgreSQL:

pip install --pre peewee-async; pip install aiopg

or for MySQL:

pip install --pre peewee-async; pip install aiomysql

使用案例

model

from datetime import datetimefrom peewee import *
import peewee_asyncdatabase = peewee_async.MySQLDatabase('sanguo', host='127.0.0.1', port=3306, user='root', password='123456')class BaseModel(Model):add_time = DateTimeField(default=datetime.now(), verbose_name="添加时间")class Meta:database = database# 供应商
class Supplier(BaseModel):name = CharField(max_length=100, verbose_name="名称", index=True)address = CharField(max_length=100, verbose_name="联系地址")phone = CharField(max_length=11, verbose_name="联系方式")class Meta:table_name = "supplier"class Goods(BaseModel):supplier = ForeignKeyField(Supplier, verbose_name="商家", backref="goods")# 新建表时在name字段上加个索引name = CharField(max_length=100, verbose_name="商品名称", index=True)click_num = IntegerField(default=0, verbose_name="点击数")goods_num = IntegerField(default=0, verbose_name="库存数")price = FloatField(default=0.0, verbose_name="价格")brief = TextField(verbose_name="商品简介")class Meta:table_name = "goods"objects = peewee_async.Manager(database)
database.set_allow_sync(False)

peewee_async

import asynciofrom chapter04.models.model import Goods
from chapter04.models.model import objectsasync def handler():# # 之前的.save方法是同步的 这里不能用了# # 保存一条记录# await objects.create(Goods, supplier_id=3, name="娃哈哈", click_num=20,#                      goods_num=1000, price=500, brief="宗庆后")# 查询所有的记录# 本质 使用await objects.execute(),执行peewee的sql语句goods = await objects.execute(Goods.select())for good in goods:print(good.name)loop = asyncio.get_event_loop()
loop.run_until_complete(handler())

tornado中数据库ORM操作(二):通过peewee-async集成到tornado中相关推荐

  1. Django中的ORM操作之高级查询aggregate和annotate方法

    Django中的ORM操作之高级查询aggregate和annotate方法 aggregate()方法详解 annotate()方法详解 aggregate和annotate应用场景 Django中 ...

  2. MySQL中数据库的操作

    文章目录 1 MySQL中数据库的操作 1.1 创建数据库 1.2 查看数据库 1.3 选择数据库 1.4 删除数据库 1.5 数据库的命名规范 1 MySQL中数据库的操作 像文件一样,我们可以随时 ...

  3. 数据库基础操作和配置的整合集成-新手适用

    数据库基础操作和配置的简单集成 背景 先贴出代码 1.和数据库建立连接 2.增删改方法的集成 3.查询方法的集成 写在后面 背景 其他子公司的接口需求,因为只需要抛数据,所以打算写一个可以复用的Web ...

  4. flask mysql orm_Flask笔记:数据库ORM操作MySQL+pymysql/mysql-python+SQLAlchemy/Flask-SQLAlchemy...

    Python中使用sqlalchemy插件可以实现ORM(Object Relationship Mapping,模型关系映射)框架,而Flask中的flask-sqlalchemy其实就是在sqla ...

  5. odoo中的ORM操作

    ORM方法简介 OpenERP的关键组件, ORM是一个完整的对象关系映射层,是开发人员不必编写基本的SQL管道. 业务对象被声明继承字models.Models的python类. 这让业务对象在OR ...

  6. Django数据库orm操作以list形式获取数据库中某列所有值

    文章目录 问题: 解决办法: 方式一: 方式二: 方式三: 写在最后 问题: 如图所示,Django数据库中存储如下字段. 这是在前端渲染出的数据.现在的需求是:要把factory这一列数据从后端数据 ...

  7. Laravel中数据库的操作

    查找数据库的三种方式 DB facade(原始查找) 查询构造 Eloquent ORM 新建数据表 //示例表 create table if not exits student( 'id' int ...

  8. Django 数据库ORM 操作 - 字段的类型和参数

    通过Django的ORM创建表的时候,我们需要定义自己的类. 定义类的时候,他有各种各样的字段类型,每个字段都有自己的参数可以进行配置,下面简单的归纳一下. 首先看看字段的类型.尽管Python提供了 ...

  9. model数据库orm操作

    1> 修改数据库型类    setting 文 件里面 配置数据库 1 DATABASES = { 2 3 'default': { 4 5 'ENGINE': 'django.db.backe ...

最新文章

  1. ajax提交不能进入后台_Ajax跨域问题
  2. 【Android 逆向】ELF 文件格式 ( ELF 文件当前版本号 | 操作系统 ABI 信息 | ABI 版本 | 文件头校验 | 文件头长度信息 )
  3. 物流公司借接入平台实现异地仓库信息实时掌握
  4. php 动态多维数组长度,怎么在php中利用count获取多维数组的长度
  5. SSH(Spring+Struts2+Hibernate)框架搭建步骤(含配置文件以及运行结果)
  6. c语言中异或指令,C语言总结之异或运算的一些特性及巧妙应用
  7. pythonselenium一个简单的自动化测试实战:百度搜索
  8. ajax遍历递归树数据,怎么用JS递归发送AJAX请求
  9. PL/SQL数据类型
  10. 基于强化学习的倒立摆控制策略Matlab实现(附代码)
  11. java商城源码(servlet,springboot,html,vue,uniapp,小程序,android)一套任意组合
  12. 数据挖掘和数据仓库之间的区别
  13. 如何通过波形解析can总线数据
  14. youtube的使用体会
  15. php301劫持,黑帽seo技巧-301权重代码劫持
  16. 排列组合思维导图_排列组合——组合数专题
  17. 记录一下何同学采访苹果CEO库克的对话,感兴趣的快来围观
  18. 雷军:《我十年的程序员生涯》系列之一:我的程序人生路
  19. 人生这么短,哪有空嫌晚
  20. 正则表达式匹配英文和法文

热门文章

  1. 荣获百度机器阅读理解第一名的团队,他们想分享这些给你!
  2. sqlserver列转行,纵向数据转横向
  3. 计算机培训学校招生广告宣传语,学校招生创意宣传语集合
  4. 【一起来烧脑】一步学会HTML体系
  5. pettitt检验r语言_基于Kriging方法和Pettitt检验的数据冲突判别
  6. 1.巧用FME2018完成OSGB转FBX
  7. 【大数据】政务大数据体系建设内容
  8. Windows 的服务概述和网络端口要求
  9. javascript undefined使用场景
  10. 青龙面板安装ninja,DIY ninja界面