Sanic二十一:Sanic + tortoise-orm 之模型定义
2021/8/23 23:06:05
本文主要是介绍Sanic二十一:Sanic + tortoise-orm 之模型定义,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Tortoise ORM 是异步的ORM,设计灵感来自 Django,官网:https://tortoise.github.io/
Tortoise ORM 目前支持以下数据库 :
1、PostgreSQL >= 9.4,使用asyncpg
2、SQLite,使用aiosqlite
3、MySQL/MariaDB,使用aiomysql或asyncmy
此时的最新版本:0.17.6
要求:python版本 >= 3.7
安装:pip install tortoise-orm
使用示例:
定义模型:需从tortoise引入Model类,然后所有模型都继承于Model即可,然后引入fields,fields模块提供了非常多的数据类型提供使用
然后使用官方提供的 register_tortoise 绑定 sanic 的实例 app 即可
register_tortoise 支持的参数
app: Sanic实例
config: 字典格式的配置
config_file: 配置文件路径
db_url: 数据库连接信息
modules: 指定模型所在的py文件,放在list中
generate_schemas: 为True则立即生成表信息
config示例:
{ 'connections': { # Dict format for connection 'default': { 'engine': 'tortoise.backends.asyncpg', 'credentials': { 'host': 'localhost', 'port': '5432', 'user': 'tortoise', 'password': 'qwerty123', 'database': 'test', } }, # Using a DB_URL string 'default': 'postgres://postgres:qwerty123@localhost:5432/events' }, 'apps': { 'models': { 'models': ['__main__'], # If no default_connection specified, defaults to 'default' 'default_connection': 'default', } } }
这篇关于Sanic二十一:Sanic + tortoise-orm 之模型定义的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版