uriyyo / fastapi-pagination

FastAPI pagination 📖
https://uriyyo-fastapi-pagination.netlify.app/
MIT License
1.16k stars 133 forks source link

Pagination_params not working #11

Closed shyamsukhamit closed 3 years ago

shyamsukhamit commented 3 years ago

Hi I am trying to use fastapi-pagination

here is the sample code:

` from typing import Any, List

from fastapi import APIRouter, Body, Depends, HTTPException

from sqlalchemy.orm import Session

from app import crud, models, schemas from app.api import deps from app.core.config import settings

from app.db.database import get_db

from fastapi_pagination import PaginationParams, Page from fastapi_pagination.paginator import paginate `

router = APIRouter()

@router.post("/", response_model=schemas.Table1B) def create_table1(*, db: Session = Depends(get_db), name: str = Body(...), about: str = Body(...)) -> Any:

table_in = schemas.Table1Create(name=name, about=about)

table = crud.tablez.create(db, obj_in=table_in)

return table

def PaginationParams1(): return { "offset": 0, "limit": 50 }

@router.get("/", response_model=Page[schemas.Table1B], dependencies=[Depends(PaginationParams1)]) def get_table(db: Session = Depends(get_db)) -> Any: return paginate(db.query(models.Table1))

when executing the above code it gives following error -

raise RuntimeError("Use explicit params or pagination dependency") RuntimeError: Use explicit params or pagination dependency

can you please let me know if this is a bug or I am doing something wrong!

uriyyo commented 3 years ago

Could you please update get_table function to look like this:

from fastapi_pagination import pagination_params

@router.get("/", response_model=Page[schemas.Table1B], dependencies=[Depends(pagination_params)])
def get_table(db: Session = Depends(get_db)) -> Any:
    return paginate(db.query(models.Table1))

There are fully working example for sqlalchemy here

shyamsukhamit commented 3 years ago

Thanks it is working now - I have missed importing from fastapi_pagination import pagination_params

uriyyo commented 3 years ago

Happy to hear that🙂