Graphene-Django-Extras
This package adds some extra functionalities to graphene-django to facilitate the graphql use without Relay:
- Allow pagination and filtering on Queries
- Allow defining DjangoRestFramework serializers based on Mutations.
- Allow using Directives on Queries and Fragments.
NOTE: Subscription support was moved to graphene-django-subscriptions.
Quick Start
Installation
pip install graphene-django-extras
Basic Usage
from graphene_django_extras import DjangoListObjectType, DjangoSerializerMutation
class UserListType(DjangoListObjectType):
class Meta:
model = User
class UserMutation(DjangoSerializerMutation):
class Meta:
serializer_class = UserSerializer
Documentation
The complete documentation includes:
- Installation Guide - Getting started
- Quick Start - Basic setup and examples
- Usage Guide - Detailed feature documentation
- Directives - GraphQL directives for data formatting
- API Reference - Complete API documentation
- Changelog - Version history
Key Features
🔍 Fields
- DjangoObjectField
- DjangoFilterListField
- DjangoFilterPaginateListField
- DjangoListObjectField (Recommended)
🧬 Types
- DjangoListObjectType (Recommended)
- DjangoInputObjectType
- DjangoSerializerType (Recommended)
⚡ Mutations
- DjangoSerializerMutation (Recommended)
📄 Pagination
- LimitOffsetGraphqlPagination
- PageGraphqlPagination
🎯 Directives
- String formatting (case, encoding, manipulation)
- Number formatting (currency, math operations)
- Date formatting (with python-dateutil)
- List operations (shuffle, sample)
Development
See our Development Guide for contributing guidelines.
License
MIT License - see LICENSE file for details.