Skip to main content

Create, update and delete mutations for graphene-django

Project description

Graphene Django CUD

Version Build status Documentation Status License

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

graphene_django_cud-0.13.0-py3-none-any.whl (68.8 kB view details)

Uploaded Python 3

File details

Details for the file graphene_django_cud-0.13.0-py3-none-any.whl.

File metadata

  • Download URL: graphene_django_cud-0.13.0-py3-none-any.whl
  • Upload date:
  • Size: 68.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.19

File hashes

Hashes for graphene_django_cud-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6816884b75900282e24fc3105212fc191ccbc9ed6de43884d41565a4f7972e49
MD5 32432ee1f03074008aef76bb2805d3e5
BLAKE2b-256 59f195d564d9626a695baa78efdd8c6a5e830d7f8a820e07957c2814129414bf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page