Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用graphene_django从GraphQL获取最后n个元素_Django_Django Rest Framework_Graphql_Graphene Python - Fatal编程技术网

无法使用graphene_django从GraphQL获取最后n个元素

无法使用graphene_django从GraphQL获取最后n个元素,django,django-rest-framework,graphql,graphene-python,Django,Django Rest Framework,Graphql,Graphene Python,我试图在现有的Django REST框架中实现GraphQL。我使用了石墨烯django==2.2.0 它已成功实施。但不能在请求查询中使用“last”关键字。我正在添加模式代码 import graphene from graphene_django.types import DjangoObjectType from flowers.models import Flower class FlowerType(DjangoObjectType): class Meta:

我试图在现有的Django REST框架中实现GraphQL。我使用了石墨烯django==2.2.0

它已成功实施。但不能在请求查询中使用“last”关键字。我正在添加模式代码

import graphene
from graphene_django.types import DjangoObjectType
from flowers.models import Flower


class FlowerType(DjangoObjectType):
    class Meta:
        model = Flower


class Query(graphene.ObjectType):
    flowers = graphene.List(FlowerType)

    def resolve_flowers(self, info, **kwargs):
        return Flower.objects.all()
质疑

结果

{
  "errors": [
    {
      "locations": [
        {
          "column": 12,
          "line": 2
        }
      ],
      "message": "Unknown argument \"last\" on field \"flowers\" of type \"Query\"."
    }
  ]
}

我必须修改Django项目中的代码吗?如何解决它?

在GraphQL模式中。您需要具体说明接受最后一个参数并返回查询的查询。请指定退货类型的花(在您的情况下)

您可以将查询更改为

query($flowerId: 2) {
    flowers (last: $flowerId){
        id
    }
}

在GraphQL模式中。您需要具体说明接受最后一个参数并返回查询的查询。请指定退货类型的花(在您的情况下)

您可以将查询更改为

query($flowerId: 2) {
    flowers (last: $flowerId){
        id
    }
}

或者简单地使用继电器,它已经提供了这个过滤器,等等

class FlowerType(DjangoObjectType):
    class Meta:
        model = Flower
        interfaces = (graphene.relay.Node,)

class FlowerConnection(graphene.relay.Connection):
    class Meta:
        node = FlowerType

class Query(graphene.ObjectType):
    flowers = graphene.relay.ConnectionField(FlowerConnection)

    def resolve_flowers(self, info, **kwargs):
        return Flower.objects.all()

或者简单地使用继电器,它已经提供了这个过滤器,等等

class FlowerType(DjangoObjectType):
    class Meta:
        model = Flower
        interfaces = (graphene.relay.Node,)

class FlowerConnection(graphene.relay.Connection):
    class Meta:
        node = FlowerType

class Query(graphene.ObjectType):
    flowers = graphene.relay.ConnectionField(FlowerConnection)

    def resolve_flowers(self, info, **kwargs):
        return Flower.objects.all()