【发布时间】:2016-04-20 11:33:21
【问题描述】:
这里是原始查询集 Django ORM:
ob = Shop.objects.raw('SELECT * from shops GROUP BY
(duplicate_field_name) having COUNT(*) = 1 ORDER BY some_field')
listorder = ["check_in","check_out","location"]
这个 listorder 部分是动态的。我不知道会怎么样。它会不时更改排序,还有一件事不能对原始查询集应用排序,因为我想要整个数据用于其他目的。之后只有我可以应用排序。 这里要按列表“listorder”排序。
mObj = ob.order_by[*listorder].
在上述面临的错误中,例如无法将排序应用于原始查询集。 有人知道吗?
【问题讨论】:
-
您的意思是 check_in、check_out 和 location 是 Shop 模型的成员,并且您想通过它来订购原始结果集吗?
-
必须是原始 SQL 吗?也许你可以使用Django's extra() clause,它确实支持order_by kwarg。
标签: django django-queryset django-orm