Ariadne graphql отображает варианты Django в запросе

У меня есть модель django с полями выбора Integer Choice

class issue_status(models.IntegerChoices):
  '''Status'''

  Open = 1
  Pending = 2
  Completed = 3



  class Issue(models.Model):

    person = models.ForeignKey('Person', on_delete=models.CASCADE,
                               blank=False, null=False)
    name = models.CharField(max_length=100, null=True, blank=True)
    status = models.IntegerField(choices=issue_status.choices,
                                 blank=True, null=True)
    def __str__(self):
        return self.name

У меня типы graphql и resolver определены так

from ariadne import gql

type_defs = gql("""

enum Status {
  Open
  Pending
  Completed
 }

type Issue {
    id: ID
    person: Person!
    name: String
    status: Status
   }

input IssueInput {
    id: ID
    person: PersonInput!
    name: String
    status: Status
   }

input IssueUpdate {
    id: ID!
    person: PersonInput
    name: String
    status: Status
   }

type Query {
    Issues(id: ID, name:String, ): [Issue]
}
""")

query = QueryType()

@query.field("Issue")
def resolve_Issue(*_, name=None, id=None,):
    if name:
        filter = Q(name__icontains=name)
        return Issue.objects.filter(filter)
    if id:
        filter = Q(id__exact=id)
        return Issue.objects.filter(filter)
    return Issue.objects.all()

Когда я делаю запрос gql, я получаю нулевые значения в поле status:

{
  "data": {
    "Issues": [
      {
        "person": {
          "name": "Test1"
        },
        "id": "1",
        "name": "Things",
        "status": null
      },
      {
        "person": {
          "name": "Test1"
        },
        "id": "2",
        "name": "Clown and clown",
        "status": null
      }
    ]
  },
  "errors": [
    {
      "message": "Enum 'Status' cannot represent value: 1",
      "locations": [
        {
          "line": 9,
          "column": 5
        }
      ],
      "path": [
        "Issues",
        0,
        "status"
      ],
      "extensions": {
        "exception": null
      }
    },
    {
      "message": "Enum 'Status' cannot represent value: 1",
      "locations": [
        {
          "line": 9,
          "column": 5
        }
      ],
      "path": [
        "Issues",
        1,
        "status"
      ],
      "extensions": {
        "exception": null
      }
    }
  ]
}

Как настроить в Ариадне целочисленный выбор, чтобы возвращать строковые значения для целочисленного выбора? В документации есть пример использования этого в резольвере, но я не уверен, как включить или вернуть это в запрос:

import enum
from ariadne import EnumType
class Status(enum.IntEnum):
  Open = 1
  Pending = 2
  Completed = 3

Графкл для перечисления должен быть определен:

type_defs = gql("""

enum Status {
  Open
  Pending
  Completed
 }

""")

Затем следует определить числовые варианты и добавить их к make_executable_schema

import enum
from ariadne import EnumType

class Status(enum.IntEnum):
    Open = 1
    Pending= 2
    Completed = 3

status_enum = EnumType("Status", Status)

schema = make_executable_schema(type_defs, query, mutation, status_enum)
Вернуться на верх