You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Graphene至3.0.0后ObjectType初始化异常问题

Graphene v3.0.0中ObjectType实例化报错的解决方法

Graphene v3.0.0通过PR #1157移除了ObjectType的默认__init__方法,不再支持直接通过关键字参数初始化实例,这就是你遇到"unexpected arguments"警告的原因。以下是两种可行的解决方式:

方法一:使用官方推荐的from_dict方法

这是Graphene v3官方推荐的实例化方式,通过字典传递字段值:

from graphene import ObjectType, Int

class TestObjectType(ObjectType):
    field1 = Int()
    field2 = Int()

# 用from_dict初始化实例
test_instance = TestObjectType.from_dict({"field1": 1, "field2": 2})

方法二:自定义__init__方法兼容旧代码

如果需要保持v2版本的初始化风格,可以手动为ObjectType子类添加__init__方法:

from graphene import ObjectType, Int

class TestObjectType(ObjectType):
    field1 = Int()
    field2 = Int()

    def __init__(self, field1=None, field2=None, **kwargs):
        super().__init__(**kwargs)
        self.field1 = field1
        self.field2 = field2

# 继续使用原有方式初始化
test_instance = TestObjectType(field1=1, field2=2)

额外说明

如果你是结合Django使用(比如DjangoObjectType),请确保安装的graphene-django版本与Graphene v3兼容(要求graphene-django>=3.0.0),上述两种方法同样适用。

内容的提问来源于stack exchange,提问作者Gagan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 01:43:12