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.10.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ad12471c0f4dd86538c0cdf785b6d518c8ad8bc7cd6427902d3ab1fdc8946fa |
|
MD5 | 2c4c70fb3c6971e93904faad1722ae69 |
|
BLAKE2b-256 | 871d906578f55b2319c733fa056c5f406cdb8a7b7e633fb3a55cbed3bbf9ce5e |
Hashes for graphene_django_cud-0.10.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 500438101635ab771211a8c6974906b3809c71151f2e8cf0dee50137fe55e914 |
|
MD5 | c112bfc433c6a5cc841d2e74960eaef4 |
|
BLAKE2b-256 | 47ed33db3b1a0baf312d91ec1889df42335e25760b39938358581479e3bdcf28 |