一个简单的查询,但 Graphene-Django 返回空值

A simple query but Graphene-Django is returning null values

我正在尝试使用 graphene-django 进行简单查询,但我无法获取数据库,它给了我空值。

我认为代码没问题,哪里出了问题,我在上面工作了几个小时。

你知道它是什么吗?

提前致谢


import graphene
from graphene_django.types import DjangoObjectType, ObjectType
from myProject.models import Times


class TimesType(DjangoObjectType):
    class Meta:
        model=Times
        fields="__all__"


class Query(ObjectType):
    today_times = graphene.Field(TimesType, id=graphene.ID())
    all_times = graphene.List(TimesType)
   
    def resolve_todaytimes(self, info, id=None):
        return Times.objects.get(pk=id)

    def resolve_alltimes(root, info, **kwargs):
        return Times.objects.all()


schema = graphene.Schema(query=Query, mutation=Mutation)

query {todayTimes(id:"1029"){id}}

{
  "data": {
    "todayTimes": null
  }
}

解析器方法应以resolve_<FieldName>格式命名

class Query(ObjectType):
    today_times = graphene.Field(TimesType, id=graphene.ID())
    all_times = graphene.List(TimesType)
   
    <b>def resolve_today_times(self, info, id=None): # not `resolve_todaytimes`</b>
        return Times.objects.get(pk=id)

    <b>def resolve_all_times(root, info, **kwargs): # not `resolve_alltimes`</b>
        return Times.objects.all()

或者,您可以使用 resolver 参数将可调用解析器设置为,

def resolve_todaytimes(self, info, id=None):
    return Times.objects.get(pk=id)


def resolve_alltimes(root, info, **kwargs):
    return Times.objects.all()


class Query(ObjectType):
    today_times = graphene.Field(
        TimesType,
        id=graphene.ID(),
        <b>resolver=resolve_todaytimes</b>
    )
    all_times = graphene.List(
        TimesType,
        <b>resolver=resolve_alltimes</b>
    )