在我的产品详细信息页面上,我要显示所选产品,在下面显示我最贵的产品。
如何获得最昂贵的产品?我正在尝试让类似的东西工作:
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()
答案 0 :(得分:1)
您可以通过ordering查询和slicing it找到最贵的产品:
Products.objects.order_by('-price')[:5]
在这里,由于price
前缀,我们以-
降序排列。该查询应该给您五个最昂贵的Product
。随意包含其他修饰符,例如filter()
,以获得更具体的信息,例如在某个类别中查找最昂贵的Product
或从最昂贵的产品列表中排除所选的主要产品。