我有一个名为Product
的Django模型,其中包含字段name, spec, sub_group
和一个名为class
的自我FK
我需要使用GraphQL来查询多个聚合 -
Product.objects.values('sub_group').annotate(group_count=Count('sub_group'))
Product.objects.select_related('class').values('class__name', 'class__spec').annotate(class_count=Count('class'))
我正在尝试使用模式而不是去任何地方
from django.db.models import Count
from graphene import Schema, ObjectType, String, Int, List
from products.models import Product
class ProductNode(ObjectType):
class__name = String()
class__spec = String()
class_count = Int()
group_count = Int()
class Query(ObjectType):
all_classes = List(ProductNode)
all_groups = List(ProductNode)
def resolve_all_classes(self, args, context, info):
return Product.objects.values('sub_group').annotate(group_count=Count('sub_group'))
def resolve_all_groups(self, args, context, info):
return Product.objects.select_related('class').values(
'class__name', 'classification__spec').exclude(
class__name='').annotate(
class_count=Count('class'))
schema = Schema(query=Query)
需要帮助来解决这个问题,因为我没有看到使用聚合查询的任何示例。