如何找到最贵的产品?

时间:2019-04-02 12:27:30

标签: python django templates jinja2

在我的产品详细信息页面上,我要显示所选产品,在下面显示我最贵的产品。

如何获得最昂贵的产品?我正在尝试让类似的东西工作:

product_detail_view = get_object_or_404(Product,id=id)
most_expensive_products = Product.object.filter(price = ??????????) 
context { 'product_detail_view': product_detail_view ,
          'most_expensive_products':most_expensive_products }
return render (... )

我要代替?????????做什么?

我需要在模型本身中执行此操作吗?

这是我的模特:

class Product(models.Model):
    title = models.CharField(max_length=120)
    car = models.CharField(max_length=120)
    tag = TaggableManager()
    slug = models.SlugField()
    description = models.TextField(blank=True,null=True)
    price = models.DecimalField(max_digits=50,decimal_places=2)
    acitve = models.BooleanField(default=True)
    timefield = 
    models.DateTimeField(auto_now_add=True,auto_now=False)
    updated = models.DateTimeField(auto_now_add=False,auto_now=True)
    hits = models.IntegerField(default=0)
    image = models.ImageField()

1 个答案:

答案 0 :(得分:1)

您可以通过ordering查询和slicing it找到最贵的产品:

Products.objects.order_by('-price')[:5]

在这里,由于price前缀,我们以-降序排列。该查询应该给您五个最昂贵的Product。随意包含其他修饰符,例如filter(),以获得更具体的信息,例如在某个类别中查找最昂贵的Product或从最昂贵的产品列表中排除所选的主要产品。