我有一个模特:
class Car(models.Model):
price = models.IntegerField()
created_at = models.DateTimeField(auto_now_add=True)
....
我想创建一个Queryset,在其中我得到一个列表,其中两个前一个元素将是价格最高的Car,而其他元素按时间顺序created_at。
我将对任何命题如SQL或Queryset表示感谢。只需向数据库发送一个请求就可以了。
以最高的价格获得前两辆车
q1 = Car.objects.order_by('price')[:1]
要休息一下created_at订单
qs2 = Car.objects.exclude(id__in=qs)
您将拥有两个查询集,并且可以同时使用两者。
UPDATE:
q = q1.union(q2)
现在,q
是一个查询集,尚未对数据库进行任何查询,您可以执行与分页等有关的任何任务。