asyncio数据库查询生成器
项目描述
aql
简单、异步查询库,适用于现代Python
亮点
aql是一个简单、现代且可组合的查询构建器,支持使用统一API异步执行针对多个数据库后端的查询。aql使用现代、类型注解的数据结构,用于表定义和查询。
aql仍处于早期alpha阶段。并非所有功能都可用或已定稿。
定义表
@table("objects")
class Object:
id: PrimaryKey[AutoIncrement[int]]
name: Unique[str]
description: text
created: datetime
构建查询
query = (
Object.select()
.where(Object.id >= 25)
.order_by(Object.name)
.limit(5)
)
sql, params = SqlEngine.prepare(query)
# "select * from `objects` where `id` >= ? order by `name` asc limit 5", (25)
执行查询
async with connect(...) as db:
cursor = db.execute(Object.select().where(Object.id < 100))
async for row in cursor:
print(f"{row.id} {row.name} {row.description}")
简单操作
async with connect(...) as db:
rows = await db.get(Object, Object.id == 100)
rows[0].description += "updated"
await db.modify(Object, rows)
许可证
aql版权所有Amethyst Reese,并许可在MIT许可证下。我正在此存储库中以开源许可证的形式提供代码。这是我的个人存储库;您从我收到的代码许可证是我个人的,而不是从我雇主那里获得的。有关详细信息,请参阅LICENSE
文件。
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
aql-0.5.0.tar.gz (27.0 kB 查看散列)
构建的发行版
aql-0.5.0-py3-none-any.whl (28.9 kB 查看哈希值)
关闭
aql-0.5.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8ae30b4be985dee7d79128fec42d4ce440e7ac8d28f6beb8d8358bfb48886adb |
|
MD5 | 14d4b1793984c07defe625c648c04bff |
|
BLAKE2b-256 | a49a15254abbf411388e993aa08238f2daba69c375af36873b69f2f01ab6359f |
关闭
aql-0.5.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6e3f632b6167bb9e1c6114a38b7884c79ff71fd66ceaef946279888430e3abdd |
|
MD5 | cd0e1a5eb0ba464312bd721b1d3e274a |
|
BLAKE2b-256 | 1a156bece658b235beac805413291c1d47dec683f190748b4d73e365cfdfe009 |