带有参数 returns 所有字段的 Django Graphene 节点接口
Django Graphene node interface with arguments returns all fields
我的以下石墨烯查询,我将参数传递给我的查询 returns 所有结果,即使我的前端给出了正确的参数,它也给出了所有结果。即使没有结果的数据应该 return 它仍然 return 所有结果。
我有一个石墨烯类型:
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`
所以基本上我是通过不存在的变量发送的,所以查询返回了所有数据。
我的以下石墨烯查询,我将参数传递给我的查询 returns 所有结果,即使我的前端给出了正确的参数,它也给出了所有结果。即使没有结果的数据应该 return 它仍然 return 所有结果。
我有一个石墨烯类型:
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`
所以基本上我是通过不存在的变量发送的,所以查询返回了所有数据。