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

Graphene-django-使用枚举来变异类型

如何解决Graphene-django-使用枚举来变异类型

所以,我有以下模型:

class Semester(models.Model):
    course = models.ManyToManyField(Course,through='CourseSemester')

    class SemesterType(models.TextChoices):
        A = 'A','Winter'
        B = 'B','Spring'
        SUMMER = 'SU','Summer'

    name = models.CharField(
        max_length=200,choices=SemesterType.choices,default=SemesterType.A,)
    year = models.IntegerField()

我尝试添加一个变异以添加一个新的学期。 Graphene-django似乎会自动为我生成一个Enum字段,但是如何在参数中获取它?

根据github问题,应该使用SemesterType._Meta.fields['name']之类的东西,但即使将其包装在graphene.Argument中,我也无法正确处理。

可以告诉Graphene不要将其转换为Enum,但是我宁愿避免这种情况。

任何提示如何正确处理?

解决方法

您应该添加 convert_choices_to_enum = False 到您的DjangoObjectType

更多信息,请参见Choices to Enum conversion section

中的文档

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。