【问题标题】:How to rename GraphQL type field autogenerated from Django model?如何重命名从 Django 模型自动生成的 GraphQL 类型字段?
【发布时间】: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。我怎样才能最轻松地完成这项工作?

【问题讨论】:

    标签: django django-models graphql graphene-django


    【解决方案1】:

    您可以使用 DjangoObjectType 覆盖任何字段。您的代码可能如下所示。

    class SomethingType(DjangoObjectType):
    
        class Meta:
           model = Something
    
    
       something_fency = graphene.String()
    
       def resolve_something_fency(self, info):
           return self.second_field
    

    更多详情请查看docs

    【讨论】:

      猜你喜欢
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 2019-09-08
      • 2011-03-15
      • 2020-05-30
      • 2020-03-25
      • 2017-12-13
      • 1970-01-01
      相关资源
      最近更新 更多