Releases: igorbenav/FastAPI-boilerplate
0.3.0
Summary
Now it's possible to select only a few attributes in a query.
For the get
and get_multi
methods we have the option to define a schema_to_select
attribute, which is what actually makes the queries more efficient. When you pass a pydantic schema in schema_to_select
to the get
or get_multi
methods, only the attributes in the schema will be selected.
from app.schemas.user import UserRead
# Here it's selecting all of the user's data
crud_user.get(db=db, username="myusername")
# Now it's only selecting the data that is in UserRead.
# Since that's my response_model, it's all I need
crud_user.get(db=db, username="myusername", schema_to_select=UserRead)
Warning
What's retrieved from the get is no longer an ORM model, it's a sqlalchemy.engine.row.Row, so update your code accordingly
What's Changed
- More efficient select by @igorbenav in #29
Full Changelog: v0.2.1...v0.3.0
0.2.1
Summary
- functions defining fastapi creation moved from main to src/app/core/setup.py, main now imports and creates only
- python-decouple replaced with starlette.config
- docs updated
What's Changed
- Minor changes by @igorbenav in #28
Full Changelog: v0.2.0...v0.2.1
0.2.0
Summary
ENVIRONMENT
variable in .env
added for security.
It can be one of local
, staging
and production
, defaults to local, and changes the behavior of api docs endpoints:
- local:
/docs
,/redoc
and/openapi.json
available - staging:
/docs
,/redoc
and/openapi.json
available for superusers - production:
/docs
,/redoc
and/openapi.json
not available
Some other changes:
- bigger threadpool by default
- easier option to change the number of tokens
- Packages updated
What's Changed
- todo list added to docs by @igorbenav in #22
- update: remove lock file also add it in git ignore by @AhsanSheraz in #23
- Update README.md by @igorbenav in #24
- Update README.md by @igorbenav in #25
- Password hidden docs by @igorbenav in #26
- threadpool options, bug fixes by @igorbenav in #27
New Contributors
- @AhsanSheraz made their first contribution in #23
Full Changelog: v0.1.0...v0.2.0