我正在尝试在Django中返回一个查询集,以便为它创建一个视图列表。将ID从1到n索引的模型的条目(id与创建日期时间相关,但不要太依赖于此),我的目标是显示第一个在结果列表中作为第一个输入,但是反向排序列表的其余部分 - 从最近的,即具有最高id编号到最低编号(因此id = 2应该是最后一个)。现在我有这样的事情:
class ModelLC(generics.ListCreateAPIView):
queryset = Model.objects.filter(id=1)
aux_queryset = Model.objects.exclude(id=1).order_by('-created')
queryset = queryset | aux_queryset
serializer_class = ModelSerializer
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
( id 是索引列,创建是具有创建时间戳的日期时间字段。)
在一起加入查询后,结果继承了排序顺序,无论我如何重写它,查询在实际执行时看起来都是一样的,结果按创建时间按相反的顺序排序,这使得id也从最高到最低。是否可以强制查询结果粘合在一起"以这种奇怪的方式,但同时
答案 0 :(得分:1)
当您将查询集与you get `015400` so by adding greens the RED increased .... WRONG
运算符连接在一起时,ORM将从中查询一个查询。这就是为什么它总是按|
排序。
当您使用DRF时,您无法使用created DESC
,但看起来有一种使用chain()
来解决问题的黑客方法
extra()