Skip to content

ORMField batching results in null result #401

Open
@odfalik

Description

@odfalik

I'm trying to get batching set up on a 1:N relationship. Suppose a Foo has many Bars

class FooObject(SQLAlchemyObjectType):
    class Meta:
        model = Foo
        interfaces = (graphene.relay.Node,)

    bars = ORMField(batching=True)

(I've also tried doing batching=True in the Meta)

class Query(graphene.ObjectType):
    test_query_batching = graphene.Field(
        lambda: graphene.List(FooObject),
    )

    def resolve_test_foo_query_batching(self, info):
        return Foo.query.limit(5).all()

Querying this resolver as such

query TestQueryBatching {
  testQueryBatching {
    id
    bars {
      edges {
        node {
          id
        }
      }
    }
  }
}

results in Cannot return null for non-nullable field BarObjectConnection.edges. This query succeeds if batching is disabled. I'm unsure as to why we'd be getting null for BarObjectConnection.edges, though. Any ideas as to what might be leading to this?

Versions:

  • SQLAlchemy==1.4.51
  • Flask-SQLAlchemy==2.5.1
  • graphene-sqlalchemy==3.0.0rc1

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