strawberry-django-plus
Warning
All the extra features provided by this lib were contributed and merged directly
into the official
strawberry-graphql-django
lib. Since then this lib is deprecated and the official integration should be used instead
and development will continue there!
If you were using this lib before, check out the
migration guide
for more information on how to migrate your code.
Enhanced Strawberry integration with Django.
Built on top of strawberry-django
integration, enhancing its overall functionality.
Check the docs
for information on how to use this lib.
Features
- All supported features by
strawberry
and strawberry-django
, with proper typing and
documentation. - Query optimizer extension
that automatically optimizes querysets
(using
only
/select_related
/prefetch_related
) to solve graphql N+1
problems, with support
for fragment spread, inline fragments, @include
/@skip
directives, prefetch merging, etc - Django choices enums using
support for better enum typing (requires
django-choices-field)
- Permissioned resolvers
using schema directives, supporting both
django authentication system,
direct and per-object permission checking for backends that implement those (e.g.
django-guardian).
- Mutations for Django,
with CRUD support and automatic errors validation.
- Relay support
for queries, connections and input mutations, using the official strawberry's
relay integration
- Django Debug Toolbar integration
with graphiql to display metrics like SQL queries
- Improved sync/async resolver that priorizes the model's cache to avoid have to use
sync_to_async
when not needed.
Installation
pip install strawberry-django-plus
Licensing
The code in this project is licensed under MIT license. See LICENSE
for more information.
Stats