簡體   English   中英

Graphene-django - 使用枚舉改變類型

[英]Graphene-django - Mutating types with enums

所以,我有以下 model:

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 字段,但我如何在 arguments 中獲取它?

根據 github 問題,像SemesterType._meta.fields['name']這樣的東西應該可以工作,但我做不對,即使將它包裝在graphene.Argument中也是如此。

可以告訴 Graphene 不要將其轉換為枚舉,但我寧願盡可能避免這種情況。

任何線索如何做到這一點?

您應該將convert_choices_to_enum = False添加到您的DjangoObjectType

更多信息在Choices to Enum conversion 部分的文檔中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM