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 |