import graphene from graphene import relay from graphene_django import DjangoObjectType from graphene_django.filter import DjangoFilterConnectionField from user.models import UserGroup, User class UserNode(DjangoObjectType): pk = graphene.Int() class Meta: model = User filter_fields = ['username', 'email'] interfaces = (relay.Node,) def resolve_pk(self, *args, **kwargs): return self.id class UserGroupNode(DjangoObjectType): pk = graphene.Int() class Meta: model = UserGroup filter_fields = ['name'] interfaces = (relay.Node,) def resolve_pk(self, *args, **kwargs): return self.id class UsersQuery(object): user_group = relay.Node.Field(UserGroupNode) user_groups = DjangoFilterConnectionField(UserGroupNode)