django - 带参数的 Django Graphene 节点接口返回所有字段
问题描述
我将参数传递给查询的以下石墨烯查询会返回所有结果,即使我的前端提供了正确的参数,它也会提供所有结果。即使有不应返回结果的数据,它仍会返回所有结果。
我有一个石墨烯类型:
class TimeStampType(DjangoObjectType):
rowid=graphene.Int()
class Meta:
model = TimeStamp
interfaces = (Node, )
filter_fields = {
'year': ['exact'],
'week': ['exact'],
'weekDay': ['exact'],
'shift': ['exact'],
'time': ['exact'],
'shortDate': ['exact'],
}
def resolve_rowid(self, context, **kwargs):
return self.id
带查询:
node_timestamp = DjangoFilterConnectionField(TimeStampType)
我的查询如下所示:
query nodeTimeStamp($year:Float, $week:Float, $weekDay:Float){
nodeTimestamp(year:$year, week:$week, weekDay:$weekDay) {
edges{
node{
id
rowid
}
}
}
}
解决方案
我在一天结束时发现的是,出于某种原因,我应该更改我的 Apollo 查询(不知道我看到的第一种方式的示例,也许是一些旧文档)
.watchQuery({
variables: {$year:2018, $week:42, $weekDay:3},
query: gql`
并删除 $ 符号,使其显示:
.watchQuery({
variables: {year:2018, week:42, weekDay:3},
query: gql`
所以基本上我通过不存在的变量发送变量,因此查询返回了所有数据。
推荐阅读
- javascript - CKEditor5 自定义模态插件
- angular - 指定的模块不存在Angular 6
- c# - WinForms,.NET - 在编译程序中读取设置文件
- django - Django Updateview - 根据字段值或用户对象设置参数
- c# - 从有效对象到位图的转换导致 null c#
- oracle - 使用 groovy:更新时间戳 oracle 列
- stanford-nlp - Using POS Taggers will raise wrong format in German
- java - Apache servicemix OSGi 包无法导入包
- php - 如何设置 PHP 类 VISIBLITY
- c# - 文本框为空时如何防止数据提交到数据库