Use set navigation instead of additional fields with resolvers

This commit is contained in:
Pawel Kowalski 2018-08-23 17:38:32 +02:00
parent 585eccbe12
commit bf913b0417
5 changed files with 10 additions and 11 deletions

View File

@ -5,7 +5,7 @@ query RoomEntriesQuery($slug: String!) {
slug
appearance
pk
roomEntries {
roomentrySet {
edges {
node {
id

View File

@ -5,7 +5,7 @@ query RoomEntriesQuery($slug: String!) {
slug
appearance
pk
roomEntries {
roomentrySet {
edges {
node {
id

View File

@ -5,7 +5,7 @@ query RoomsQuery {
slug
appearance
pk
roomEntries {
roomentrySet {
edges {
node {
id

View File

@ -23,7 +23,6 @@ class RoomEntryNode(DjangoObjectType):
class RoomType(DjangoObjectType):
pk = graphene.Int()
user_group = UserGroupNode()
room_entries = DjangoFilterConnectionField(RoomEntryNode)
class Meta:
model = Room
@ -35,10 +34,7 @@ class RoomType(DjangoObjectType):
class RoomsQuery(object):
room = graphene.Field(RoomType,
slug=graphene.String(),
id=graphene.Int(),
appearance=graphene.String())
room = graphene.Field(RoomType, slug=graphene.String(), id=graphene.Int(), appearance=graphene.String())
room_entry = relay.Node.Field(RoomEntryNode)
all_rooms = DjangoFilterConnectionField(RoomType)
@ -46,10 +42,10 @@ class RoomsQuery(object):
def resolve_room(self, info, **kwargs):
slug = kwargs.get('slug')
id = kwargs.get('id')
room_id = kwargs.get('id')
if id is not None:
return Room.objects.get(pk=id)
if room_id is not None:
return Room.objects.get(pk=room_id)
if slug is not None:
return Room.objects.get(slug=slug)
return None

View File

@ -29,3 +29,6 @@ class UserGroupNode(DjangoObjectType):
def resolve_pk(self, *args, **kwargs):
return self.id
def resolve_users(self, *args, **kwargs):
return self.users