无法使用graphene_django从GraphQL获取最后n个元素
我试图在现有的Django REST框架中实现GraphQL。我使用了石墨烯django==2.2.0 它已成功实施。但不能在请求查询中使用“last”关键字。我正在添加模式代码无法使用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:
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()