微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决从元中获取任意字段的石墨烯类型

我最近将 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 举报,一经查实,本站将立刻删除。