从元中获取任意字段的石墨烯类型

问题描述

我最近将 graphene-django2.15.0 升级2.8.1 版本。在升级之前,我有一些代码可以让我从元中获取任意字段的类型,例如

def field_type(GQLType,name):
    try:
        return GQLType._Meta.fields[name].type.of_type
    except AttributeError:
        return GQLType._Meta.fields[name].type

这现在似乎因 'KeyError' 而失败。我使用它如下:

class AddressInput(graphene.InputObjectType):
    city = graphene.String()
    state = field_type(AddressInterface,'state')()

其中 AddressInterface 定义为

class AddressInterface(ModelBasedInterface):
    class Meta:
        model = AddressMixin
        name = 'AddressInterface'

AddressMixin 被定义为

class AddressMixin(models.Model):
    class Meta:
        abstract = True

    city = models.CharField(max_length=128,default='',blank=True)
    state = UsstateField(blank=True,null=True)
    street = models.CharField(max_length=128,blank=True)
    suite_number = models.CharField(max_length=32,blank=True)
    zip = models.CharField(max_length=16,blank=True)
    county = models.CharField(max_length=64,blank=True)

在这种情况下,我希望动态声明 UsstateField 的石墨烯类型。

如何为接口动态声明 InputObjectType 中的字段类型?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)