django - 无法使用 graphene_django 从 GraphQL 获取最后 n 个元素
问题描述
我试图在现有的 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()
询问
{
flowers (last: 2){
id
}
}
结果
{
"errors": [
{
"locations": [
{
"column": 12,
"line": 2
}
],
"message": "Unknown argument \"last\" on field \"flowers\" of type \"Query\"."
}
]
}
我是否必须修改 Django 项目中的代码?如何解决?
解决方案
获取最后 N 个帖子
lastNPosts = graphene.List(PostType, N=graphene.Int())
def resolve_lastNPosts(self, info, N):
try:
return Post.objects.order_by('-id')[:N]
except Post.DoesNotExist:
return None
推荐阅读
- java - 当活动发生变化时,BluetoothSocket.getInputStream() 会导致 NullPointerException
- ios - iOS 在睡眠模式下使用 iBeacon 数据包终止应用程序唤醒
- mongodb-query - 如何使用 restheart 调用从 mongodb 中删除 Json 数组
- javascript - Flask-SocketIO 在 Azure 上不起作用
- python-3.x - Python数组循环
- c# - 禁用 ListView 多选但保留 CheckBox 值
- javascript - 为什么 indexOf + charAt 方法显示 -1
- python - 带有 seaborn PairGrid 图的 ipywidgets
- python - 远程执行 Powershell 命令并使用 wmi python 打印输出
- azure - Azure 云服务经典完全停止