An AbstractType contains fields that can be shared among graphene.ObjectType, graphene.Interface, graphene.InputObjectType or other graphene.AbstractType.

The basics:

  • Each AbstractType is a Python class that inherits from graphene.AbstractType.
  • Each attribute of the AbstractType represents a field (a graphene.Field or graphene.InputField depending on where it is mounted)

Quick example

In this example UserFields is an AbstractType with a name. User and UserInput are two types that have their own fields plus the ones defined in UserFields.

import graphene

class UserFields(graphene.AbstractType):
    name = graphene.String()

class User(graphene.ObjectType, UserFields):

class UserInput(graphene.InputObjectType, UserFields):
type User {
  name: String

inputtype UserInput {
  name: String