Pagination fastapi contrib是否有postgresql的分页器?

Pagination fastapi contrib是否有postgresql的分页器?,pagination,fastapi,Pagination,Fastapi,我阅读了fastapi contrib代码。分页仅适用于mongodb。fastapi是否也有postgres db的分页模块?库中没有任何自动内置的内容,但您可以通过查询参数进行设置并将其传递给ORM,就像SQL Alchemy中查询对象的offset()和limit()方法一样 此示例让他们在静态数据集上使用它: from fastapi import FastAPI app = FastAPI() fake_items_db = [{"item_name": "Foo"}, {"ite

我阅读了fastapi contrib代码。分页仅适用于mongodb。fastapi是否也有postgres db的分页模块?

库中没有任何自动内置的内容,但您可以通过查询参数进行设置并将其传递给ORM,就像SQL Alchemy中查询对象的offset()和limit()方法一样

此示例让他们在静态数据集上使用它:

from fastapi import FastAPI

app = FastAPI()

fake_items_db = [{"item_name": "Foo"}, {"item_name": "Bar"}, {"item_name": "Baz"}]


@app.get("/items/")
async def read_item(skip: int = 0, limit: int = 10):
    return fake_items_db[skip : skip + limit]

您可以使用
fastapi分页
模块,它目前与
sqlalchemy
gino
集成

用法如下所示:

从fastapi_分页导入页面,分页参数
从fastapi_pagination.ext.sqlalchemy导入paginate
类用户(基本):
__tablename_=“用户”
id=列(整数,主键=True,自动递增=True)
名称=列(字符串,可空=False)
email=Column(字符串,null=False)
类UserModel(BaseModel):
id:int
姓名:str
电邮:str
类配置:
orm_模式=真
app=FastAPI()
@app.get('/users',response_model=Page[UserOut])
def get_users(db:Session=Depends(get_db),params:PaginationParams=Depends()):
返回分页(数据库查询(用户),参数)
请注意,此代码的目的是显示
fastapi分页
API。
您可以在这里找到一个完整的工作示例:

到数据库的连接和查询现在不在FastAPI的范围之内。这门课可能会有帮助。目前FastAPI中没有预构建分页解决方案。