文件名称:freddie:FastAPI的类似于DRF的声明式视图集
文件大小:42KB
文件格式:ZIP
更新时间:2024-06-17 06:13:42
python api rest fastapi fastapi-crud
:man_dancing: 弗雷迪 具有可选数据库(Postgres)对象支持的声明性CRUD视图。 受到启发。 基本原理 Freddie旨在解决使用FastAPI框架构建CRUD域的一些问题: 大多数逻辑是重复性的(对模式中描述的对象集运行API某些操作),而FastAPI中路由的功能方法并不假定容易重用。 这可能导致代码重复或复杂的辅助函数。 默认情况下,API对象(Pydantic模型)会根据请求和响应进行验证(这在某些时候是很好的),但a)可能是由于复杂的嵌套结构而导致性能下降的原因,b)如果以持久状态存储已验证的数据则无用。 特征 预定义的基于类的视图集,用于基本的REST API操作 基于响应对象的基于模式的序列化,而无需运行Pydantic模型验证(可以选择打开)—保存自动生成的OpenAPI模式 内置的mixin用于分页和类似GraphQL的模式字段检索 在视图集中使用Postgres数据库
【文件预览】:
freddie-master
----.flake8(250B)
----.gitignore(95B)
----README.md(12KB)
----freddie()
--------viewsets()
--------exceptions.py(2KB)
--------db()
--------schemas.py(8KB)
--------__init__.py(174B)
--------helpers.py(4KB)
----tests()
--------test_viewset_setup.py(5KB)
--------app.py(9KB)
--------conftest.py(1KB)
--------test_helpers.py(458B)
--------utils.py(1KB)
--------main.py(719B)
--------test_generic_viewsets.py(3KB)
--------__init__.py(0B)
--------factories.py(666B)
--------test_schemas.py(7KB)
--------test_sql_viewsets.py(12KB)
----mypy.ini(455B)
----LICENSE(1KB)
----pytest.ini(73B)
----.coveragerc(136B)
----pyproject.toml(2KB)
----.editorconfig(499B)
----Makefile(353B)