Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

ORMField batching results in null result

Đang mở
#401 1 bình luận 5 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
graphql, python, sqlalchemy

Hướng nghiên cứu

Tái hiện hành vi được báo cáo trong FooObject ORMField, resolver test_query_batching và query BarObjectConnection.edges bằng các phiên bản SQLAlchemy, Flask-SQLAlchemy và graphene-sqlalchemy được liệt kê. Theo dõi đường đi của batching và so sánh với khi batching bị tắt; hoàn thành khi query trả về các edges đã được điền mà không có lỗi vi phạm non-null, đồng thời vẫn giữ nguyên hành vi hiện có khi không batching.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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
Ngôn ngữ chính
Python
Star
985
Fork
224
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của graphql-python/graphene-sqlalchemy

Tất cả issue của graphql-python/graphene-sqlalchemy

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.