duf*_*ffn 11 python django graphql
我想用django-filter在我的django-graphene解析器中总结一个字段.通常我的解析器看起来像:
my_model = DjangoFilterConnectionField(
MyModelNode,
filterset_class=MyModelFilter)
def my_resolver(self, args, context, info):
return MyModelFilter(
data=format_query_args(args),
queryset=self).qs
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.
但是,我想为模型过滤器提供自定义查询集,以便我可以对字段执行聚合.我正在尝试做这样的事情:
def my_resolver(self, args, context, info):
queryset = MyModel.objects.values(
'customer_id').annotate(
cost_amt=Sum('cost_amt', output_field=FloatField()))
return MyModelFilter(
data=format_query_args(args),
queryset=queryset).qs
Run Code Online (Sandbox Code Playgroud)
检查GraphiQL中的原始SQL,它看起来是正确的.但是,我从GraphQL收到的错误消息是
"message": "Received incompatible instance \"{'cost_amt': 260.36, 'customer_id': 300968697}\"."
Run Code Online (Sandbox Code Playgroud)
这是正确的结果,但我不确定为什么GraphQL从django-graphene获取此对象.如何提供自定义查询集并使其工作?
归档时间: |
|
查看次数: |
1249 次 |
最近记录: |