在django的一个查询中使用切片进行多个查询?

时间:2015-05-22 15:27:34

标签: django

我有这个模特

class Car(models.Model):
    color = models.ForeignKey(Color)
    price = models.PositiveIntegerField()

3种颜色,10 000条记录

如何获得6辆车,每种颜色中有两辆最高价?

由于

1 个答案:

答案 0 :(得分:-1)

有很多方法可以做到。有些只是一行。但由于这是一个django标记的问题,我将尝试用django ORM回答它。

将其分解为三个部分。

  1. 从颜色A获得两辆最高的汽车
  2. 从B颜色中获得两辆最高的汽车
  3. 从C颜色中获得两辆最高的汽车
  4. Car.objects.filter(color=A).order_by('-price')[:2] Car.objects.filter(color=B).order_by('-price')[:2] Car.objects.filter(color=C).order_by('-price')[:2]

    你可以这样做是一个查询。我会离开你。