django - 由postgres函数设置的订单查询

时间:2010-04-13 07:56:09

标签: django

我最初的问题在这里,与postgres后端有关。 Postgres subquery, ordering by subquery

现在我的问题已经转移到Django ORM层了。我本质上想用postgres函数命令查询('idx',取自上面的stackoverflow工作)

我已经尝试使用model.objects.extra(order_by)或者只是order_by,但我相信这两个都需要order_by参数作为Django已知的属性或字段。

我正在尝试思考如何解决这个问题,而不必通过模型管理器恢复使用完全原始的SQL查询。

1 个答案:

答案 0 :(得分:5)

您可以使用extra将函数结果添加到查询中,然后按顺序排序。类似的东西:

MyModel.objects.extra(select={'idx': 'idx(foo, bar)'}, order_by=['idx'])