Create, update and delete mutations for graphene-django
Project description
Graphene Django CUD
This package contains a number of helper mutations making it easy to construct create, update and delete mutations for django models.
The helper mutations are:
DjangoCreateMutation
DjangoPatchMutation
DjangoUpdateMutation
DjangoDeleteMutation
DjangoBatchCreateMutation
DjangoBatchPatchMutation
DjangoBatchUpdateMutation
DjangoBatchDeleteMutation
DjangoFilterUpdateMutation
DjangoFilterDeleteMutation
The package handles both regular ids and relay ids automatically.
Installation
pip install graphene_django_cud
Basic usage
To use, here illustrated by DjangoCreateMutation
, simply create a new inherting class.
Suppose we have the following model and Node.
class User(models.Model):
name = models.CharField(max_length=255)
address = models.TextField()
class UserNode(DjangoObjectType):
class Meta:
model = User
interfaces = (Node,)
Then we can create a create mutation with the following schema
class CreateUserMutation(DjangoCreateMutation):
class Meta:
model = User
class Mutation(graphene.ObjectType):
create_user = CreateUserMutation.Field()
class Query(graphene.ObjectType):
user = graphene.Field(UserNode, id=graphene.String())
def resolve_user(self, info, id):
return User.objects.get(pk=id)
schema = Schema(query=Query, mutation=Mutation)
Note that the UserNode
has to be registered as a field before the mutation is instantiated. This will be configurable in the future.
The input to the mutation is a single variable input
which is automatically created with the models fields.
An example mutation would then be
mutation {
createUser(input: {name: "John Doe", address: "Downing Street 10"}){
user{
id
name
address
}
}
}
Documentation
The full documentation can be found at https://graphene-django-cud.readthedocs.io/en/latest/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for graphene_django_cud-0.13.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6816884b75900282e24fc3105212fc191ccbc9ed6de43884d41565a4f7972e49 |
|
MD5 | 32432ee1f03074008aef76bb2805d3e5 |
|
BLAKE2b-256 | 59f195d564d9626a695baa78efdd8c6a5e830d7f8a820e07957c2814129414bf |