有类似推荐的项目也可。
1
encro 18 小时 36 分钟前
|
2
encro 18 小时 35 分钟前
不仅支持 async ,
且支持如同 django 一样的模块化, 支持模块化迁移, 支持模块命令, 代码提示友好。 |
4
lyhapple 18 小时 32 分钟前
目前我用的方案是 fastapi+sqlalchemy+alembic ,习惯了之后感觉还不错。
|
5
wryyyyyyyyyyyy 18 小时 30 分钟前
sqlalchemy
sqlmodel ,这个是 fastapi 开发者对 sqlalchemy + pydantic 的封装,部分情况使用起来更方便一点。 |
6
lzyong2019 OP alembic 它貌似只会生成迁移的模版,然后 upgrade 跟 downgrade 是需要自己实现的吧 😐。还是说我使用方式出错了
|
8
TimeFlies12 18 小时 14 分钟前
@lzyong2019 alembic revision --autogenerate 会根据现有 Model 和数据库自动生成 upgrade & downgrade 迁移脚本。你使用的方式不对。另外也需要注意你的 db Model 是否被加载到
|
10
niubee1 17 小时 37 分钟前
fastapi+pydantic+sqlalchemy+alembic 整个一套,搞东西还是蛮快的
|
11
bitmin 17 小时 35 分钟前
我用 sqlmodel ,使用 pydantic 的模型更方便
我很喜欢写起来像写 sql 的方式,只要会写 sql 就会用 写起来就是 select(func.IF(,,).label('a'), func.sum(), func.count()).select_from(A).join().outerjoin().where().group_by() update(A).where(and_(A.id == 1, A.status == 1)).values() delete(A).where(or_(A.status == 0, col(A.b).is_(None))) 也可以 a = await session.get(A, 1) a.b = c await session.commit() 或者 a = A() session.add(a) await session.commit() 缺点是 sqlalchemy 每次查询都会开事务,我还配置不来不开事务,曲线救国自己封装了 asyncmy 一起用 |
12
Gress 17 小时 30 分钟前
sqlalchemy 太难用了,实体类关联查询老容易 N+1 ,还得显式指定
|
13
TimePPT 17 小时 28 分钟前
@bitmin
sqlmodel demo 试了下,写起来是挺爽 之前官方的 roadmap 里( https://github.com/fastapi/sqlmodel/issues/654 )说会加 Async tools and docs 和 Integrated migrations (using Alembic). 但好像一直没动静。 所以我选择观望下 😂 |
14
Jason168 11 小时 51 分钟前
我用的 tortoise-orm 还行
|