Django rest framework 如何在django中缓存queryset

Django rest framework 如何在django中缓存queryset,django-rest-framework,Django Rest Framework,我有三种型号 class ManagerOrder(models.Model): order = models.OneToOneField(Order, on_delete=models.CASCADE, primary_key=True) kam = models.ForeignKey(KeyAccountManager, on_delete=models.PROTECT) @property def quantity(self): retu

我有三种型号

class ManagerOrder(models.Model):
    order = models.OneToOneField(Order, on_delete=models.CASCADE, primary_key=True)
    kam = models.ForeignKey(KeyAccountManager, on_delete=models.PROTECT)


    @property
    def quantity(self):
        return OrderData.objects.filter(order_id = self.order.id) \
                .aggregate(Sum('quantity'))['quantity__sum']


class Order(models.Model):
order_data = models.ManyToManyField('anotherapp', through='OrderData', related_name='+')

class OrderData(models.Model):
    quantity = models.FloatField()
现在我试图得到每个订单的总数量,但它一次又一次地调用OrderData模型(N+1问题)。我读到了与预回迁相关的内容,并将其放在了我的观点中

 queryset = models.KeyAccountManagerOrder.objects.all().prefetch_related('order__order_data')
但它仍然一次又一次地调用OrderData模型