擅长:python、mysql、java
<p>您可以使用<code>graphene.Enum.from_enum()</code></p>
<p>此函数可以将正常的<code>Enum</code>类型转换为<code>graphene.Enum</code></p>
<p>请注意<code>models.TextChoices</code>仅适用于3.0以上的Dajango版本</p>
<p><strong>models.py</strong>(适用于Django版本>;=3.0)</p>
<pre><code>from django.db import models
class SomeModel(models.Model):
class SomeEnum(models.TextChoices):
A = "A", _("Option A")
B = "B", _("Option B")
enum_field = models.CharField(
max_length=1,
choices=SomeEnum.choices,
default=SomeEnum.A,
)
</code></pre>
<p><strong>models.py</strong>(适用于Django版本<;3.0)</p>
<pre><code>from enum import Enum
class SomeEnum(Enum):
A = "A"
B = "B"
</code></pre>
<p><strong>schema.py:</strong></p>
<pre><code>SomeEnumSchema = graphene.Enum.from_enum(SomeEnum)
class SomeMutation(graphene.Mutation):
class Arguments:
some_enum = SomeEnumSchema(required=True)
</code></pre>