查询django最畅销的产品

查询django最畅销的产品,django,django-models,django-views,Django,Django Models,Django Views,我有两个这样的模型 class Product(models.Model): title = models.CharField(max_length=100) class Order_item(models.Model): product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True) quantity = models.PositiveSmallIntegerField(

我有两个这样的模型

class Product(models.Model):

    title = models.CharField(max_length=100)

class Order_item(models.Model):
    
    product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True)
    quantity = models.PositiveSmallIntegerField(default=0)
    order = models.ForeignKey(Order, on_delete=models.CASCADE)
    date_added = models.DateTimeField(auto_now_add=True)


现在我想从Order_item中查询“日期x和y之间最畅销的十大产品”。我该怎么办?

这是一个非常适合我的解决方案

Product.objects.filter(order_item__date_added__lte=datetime.datetime.today(), order_item__date_added__gt=datetime.datetime.today()-datetime.timedelta(days=7)).annotate(quantity_sum=Sum('order_item__quantity')).order_by('-quantity_sum')[:8]