Django models 获取多对一关系的多对一计数,限制django中的查询集

Django models 获取多对一关系的多对一计数,限制django中的查询集,django-models,prefetch,Django Models,Prefetch,假设我有3个模型: class Category(models.Model): name = models.CharField() class Product(models.Model): category = models.ForeignKey(Category, related_name='categories') name = models.CharField() class Feedback(models.Model): product = model

假设我有3个模型:

class Category(models.Model):
    name = models.CharField()

class Product(models.Model):
    category = models.ForeignKey(Category, related_name='categories')
    name = models.CharField()

class Feedback(models.Model):
    product = models.ForeignKey(Product, related_name='feedbacks')
    content = models.CharField()
我如何才能获得每个类别的总反馈数,并获得它的3个首批产品? 我想做这样的事,但没用:

Category.objects.prefetch_related(
    Prefetch('categories', queryset=Product.objects.all().annotate(
        feedback_count=Count('feedbacks')
    )[:3])
).annotate(
    product_count=Count('products'),
    total_feedback_count=Count('categories__feedback_count')
)
请帮帮我,谢谢^^