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 Distribution

graphene-django-cud-0.11.1.tar.gz (41.1 kB view details)

Uploaded Source

Built Distribution

graphene_django_cud-0.11.1-py3-none-any.whl (72.1 kB view details)

Uploaded Python 3

File details

Details for the file graphene-django-cud-0.11.1.tar.gz.

File metadata

  • Download URL: graphene-django-cud-0.11.1.tar.gz
  • Upload date:
  • Size: 41.1 kB
  • Tags: Source
  • 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.14

File hashes

Hashes for graphene-django-cud-0.11.1.tar.gz
Algorithm Hash digest
SHA256 54200d20de00a8efcc387b95e8e508c9bcd548e2eb7e3c3f298c16415a65bfdd
MD5 774bda2468a66bf5a405f442bd89b1c6
BLAKE2b-256 66f98f39a7a2db3f8f1eb45b4e882af451efd0af6bfa8e63433db676d33f9756

See more details on using hashes here.

File details

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

File metadata

  • Download URL: graphene_django_cud-0.11.1-py3-none-any.whl
  • Upload date:
  • Size: 72.1 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.14

File hashes

Hashes for graphene_django_cud-0.11.1-py3-none-any.whl
Algorithm Hash digest
SHA256 91c8eec4437a387825d706430e8f22c35c355d1ac1df201f6a9256af1705c5c6
MD5 b42ae66ed18139c688ed71e698f1f2ed
BLAKE2b-256 1ebe9943c641d3d9ecd3c3c85ccf1ee85c254e9a8cfb4fc454ac872ea340dcb6

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