Graphene-django: Почему ENUMS в grahene-django возвращает значение вместо ключа?
Когда я создаю кандидата, он возвращает значение перечисления вместо ключа. Например, когда я выбираю "FRESH_AND_LOOKING" в мутации для создания кандидата, он возвращает "Безработный. Ищу работу". Мне нужен фактический ключ перечисления вместо значения
Это модель
class Candidate(models.Model):
class JobStatus(models.TextChoices):
FRESH_AND_LOOKING = "Unemployed. Looking for job"
WORKING_BUT_LOOKING = "Working but looking for new opportunities"
NOT_LOOKING = "Not looking for job"
date_of_birth = models.DateField()
address = models.CharField(max_length=300)
job_status = models.CharField(max_length=100, choices=JobStatus.choices)
Это enums
class JobStatusEnum(graphene.Enum):
FRESH_AND_LOOKING = "Unemployed. Looking for job"
WORKING_BUT_LOOKING = "Working but looking for new opportunities"
NOT_LOOKING = "Not looking for job"
Это аргументы
class CandidateInput(graphene.InputObjectType):
date_of_birth = graphene.Date()
address = graphene.String(required=False)
job_status = graphene.Field(JobStatusEnum, required=False)
Это тип
class CandidateType(DjangoObjectType):
class Meta:
model = Candidate
fields = "__all__"
Это мутация
class CreateCandidate(graphene.Mutation):
_candidate = graphene.Field(CandidateType)
class Arguments:
input = CandidateInput(required=True)
@classmethod
def mutate(cls, root, info, input=None):
candidate = Candidate.objects.create(**input)
return CreateCandidate(_candidate=candidate)