Use set navigation instead of additional fields with resolvers
This commit is contained in:
parent
585eccbe12
commit
bf913b0417
|
|
@ -5,7 +5,7 @@ query RoomEntriesQuery($slug: String!) {
|
||||||
slug
|
slug
|
||||||
appearance
|
appearance
|
||||||
pk
|
pk
|
||||||
roomEntries {
|
roomentrySet {
|
||||||
edges {
|
edges {
|
||||||
node {
|
node {
|
||||||
id
|
id
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ query RoomEntriesQuery($slug: String!) {
|
||||||
slug
|
slug
|
||||||
appearance
|
appearance
|
||||||
pk
|
pk
|
||||||
roomEntries {
|
roomentrySet {
|
||||||
edges {
|
edges {
|
||||||
node {
|
node {
|
||||||
id
|
id
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ query RoomsQuery {
|
||||||
slug
|
slug
|
||||||
appearance
|
appearance
|
||||||
pk
|
pk
|
||||||
roomEntries {
|
roomentrySet {
|
||||||
edges {
|
edges {
|
||||||
node {
|
node {
|
||||||
id
|
id
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@ class RoomEntryNode(DjangoObjectType):
|
||||||
class RoomType(DjangoObjectType):
|
class RoomType(DjangoObjectType):
|
||||||
pk = graphene.Int()
|
pk = graphene.Int()
|
||||||
user_group = UserGroupNode()
|
user_group = UserGroupNode()
|
||||||
room_entries = DjangoFilterConnectionField(RoomEntryNode)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Room
|
model = Room
|
||||||
|
|
@ -35,10 +34,7 @@ class RoomType(DjangoObjectType):
|
||||||
|
|
||||||
|
|
||||||
class RoomsQuery(object):
|
class RoomsQuery(object):
|
||||||
room = graphene.Field(RoomType,
|
room = graphene.Field(RoomType, slug=graphene.String(), id=graphene.Int(), appearance=graphene.String())
|
||||||
slug=graphene.String(),
|
|
||||||
id=graphene.Int(),
|
|
||||||
appearance=graphene.String())
|
|
||||||
room_entry = relay.Node.Field(RoomEntryNode)
|
room_entry = relay.Node.Field(RoomEntryNode)
|
||||||
|
|
||||||
all_rooms = DjangoFilterConnectionField(RoomType)
|
all_rooms = DjangoFilterConnectionField(RoomType)
|
||||||
|
|
@ -46,10 +42,10 @@ class RoomsQuery(object):
|
||||||
|
|
||||||
def resolve_room(self, info, **kwargs):
|
def resolve_room(self, info, **kwargs):
|
||||||
slug = kwargs.get('slug')
|
slug = kwargs.get('slug')
|
||||||
id = kwargs.get('id')
|
room_id = kwargs.get('id')
|
||||||
|
|
||||||
if id is not None:
|
if room_id is not None:
|
||||||
return Room.objects.get(pk=id)
|
return Room.objects.get(pk=room_id)
|
||||||
if slug is not None:
|
if slug is not None:
|
||||||
return Room.objects.get(slug=slug)
|
return Room.objects.get(slug=slug)
|
||||||
return None
|
return None
|
||||||
|
|
|
||||||
|
|
@ -29,3 +29,6 @@ class UserGroupNode(DjangoObjectType):
|
||||||
|
|
||||||
def resolve_pk(self, *args, **kwargs):
|
def resolve_pk(self, *args, **kwargs):
|
||||||
return self.id
|
return self.id
|
||||||
|
|
||||||
|
def resolve_users(self, *args, **kwargs):
|
||||||
|
return self.users
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue