Skip to content

OneToOne Relations stop working on 2.3.0 #662

Closed
@robertpro

Description

@robertpro

I just upgraded to graphene-django 2.3.0 and looks like OneToOne field is not being resolved correctly, or at least not as same as 2.2.0

models.py

class Guest(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="guest_user")

class Invitation(models.Model):
    guest = models.OneToOneField(Guest, on_delete=models.CASCADE, related_name="invitation_guest")
    confirmed = models.BooleanField(default=False, blank=True)
query allGuests {
    allGuests(first:3) {
        edges {
            node {
                added
                invitationGuest{
                    confirmed
                }
            }
        }
    }
}

This Query works on v2.2.0, but fails on v2.3.0:

"message": "Cannot query field \"invitationGuest\" on type \"GuestNode\"."

I don't really see something about this on release notes, am I missing something?

EDIT: Add schema.py

class GuestNode(DjangoObjectType):
    class Meta:
        model = Guest
        interfaces = (graphene.relay.Node,)

class InvitationNode(DjangoObjectType):
    class Meta:
        model = Invitation
        interfaces = (graphene.relay.Node,)

class Query(graphene.ObjectType):
    guest = graphene.relay.Node.Field(GuestNode)
    all_guests = DjangoFilterConnectionField(GuestNode)

    invitation = graphene.relay.Node.Field(InvitationNode)
    all_invitations = DjangoFilterConnectionField(InvitationNode)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions