我最初的问题在这里,与postgres后端有关。 Postgres subquery, ordering by subquery
现在我的问题已经转移到Django ORM层了。我本质上想用postgres函数命令查询('idx',取自上面的stackoverflow工作)
我已经尝试使用model.objects.extra(order_by)或者只是order_by,但我相信这两个都需要order_by参数作为Django已知的属性或字段。
我正在尝试思考如何解决这个问题,而不必通过模型管理器恢复使用完全原始的SQL查询。
答案 0 :(得分:5)
您可以使用extra
将函数结果添加到查询中,然后按顺序排序。类似的东西:
MyModel.objects.extra(select={'idx': 'idx(foo, bar)'}, order_by=['idx'])