【问题标题】:How can I find my most expensive products?我怎样才能找到我最昂贵的产品?
【发布时间】:2019-04-02 12:27:30
【问题描述】:

我想在我的产品详细信息页面上显示所选产品,然后在下方显示我最昂贵的产品。

如何获得最昂贵的产品?我正在尝试让这样的工作:

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()

【问题讨论】:

  • 请一次问一个问题。如果您这样做,您会发现您可以更加专注和清晰,这将有助于我们理解并因此提供有用的信息。见How to Ask。
  • @Chris 抱歉,我解决了我的问题。 tnx 帮助我。
  • 您是否在问如何找到您最昂贵的产品?
  • @Chris 是的。我不知道我是否可以显示两个查询并获得两个上下文,或者我必须在 models.py 中编写一个查询集,如果我设置查询集如何在 template.html 中显示?

标签: python django templates jinja2


【解决方案1】:

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

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

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

【讨论】:

  • 它运行良好,但我有一个问题,不想创建一个新主题。我在 myapp.views 中创建了这个上下文,并在我希望这个查询显示在另一个页面和另一个应用程序中之后,在这个页面 detailview.html 的模板中显示该查询:root 应用程序和 base.html 页面我该怎么做?如何导入?我创建了四天,并要求类似的时事通讯。 stackoverflow.com/questions/55418335/…
猜你喜欢
  • 2019-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-25
  • 2014-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多