如何重命名从 Django 模型自动生成的 GraphQL 类型字段?
Posted
技术标签:
【中文标题】如何重命名从 Django 模型自动生成的 GraphQL 类型字段?【英文标题】:How to rename GraphQL type field autogenerated from Django model? 【发布时间】:2020-05-07 16:42:26 【问题描述】:我在 Django 中有一个模型,其中包含一些字段。让我们说这个模范:
# <app>/models.py
from django.db import models
class Something(models.Model):
first_field = models.Charfield()
second_field = models.Charfield()
我使用 graphene_django
中的 DjangoObjectType
将 Django 模型映射到 GraphQL 类型。
# <app>/schema.py
from graphene_django import DjangoObjectType
from .models import Something
class SomethingType(DjangoObjectType):
class Meta:
model = Something
由于auto camelcasing 模型字段second_field
导致GraphQL 类型中的secondField
。现在我想将 GraphQL 类型字段从 secondField
重命名为 somethingFancy
。我怎样才能最轻松地完成这项工作?
【问题讨论】:
【参考方案1】:您可以使用 DjangoObjectType 覆盖任何字段。您的代码可能如下所示。
class SomethingType(DjangoObjectType):
class Meta:
model = Something
something_fency = graphene.String()
def resolve_something_fency(self, info):
return self.second_field
更多详情请查看docs
【讨论】:
以上是关于如何重命名从 Django 模型自动生成的 GraphQL 类型字段?的主要内容,如果未能解决你的问题,请参考以下文章