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 Distribution
Built Distribution
Hashes for graphene-django-cud-0.12.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 242eeca9a9cb64900f263a83dc545297fe24ac996b36e5f9efaaca693610e687 |
|
MD5 | 855151d07c0312ef47e44012e10f0899 |
|
BLAKE2b-256 | 97aceaa4d07ce14df30af241bac9097624019f8b855907ecba1ba12104d3a7be |
Hashes for graphene_django_cud-0.12.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c705a16147aa8b605491942ee8b762df7f7e5f2a34a5b3c5f02c79aebcfabd9 |
|
MD5 | bd3b861a6117422383132000751a247d |
|
BLAKE2b-256 | 550a08d6262e5a7489316e91000c099627d6409b68fc371ac58d7e44f9e91850 |