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

the*_*ife 1 django

我最初的问题在这里,与postgres后端有关.Postgres子查询,按子查询排序

现在我的问题已经转移到Django ORM层.我本质上想要通过postgres函数('idx',从上面的stackoverflow工作中获取)来命令查询

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

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

Dan*_*man 5

您可以使用extra将函数结果添加到查询中,然后按顺序排序.就像是:

MyModel.objects.extra(select={'idx': 'idx(foo, bar)'}, order_by=['idx'])
Run Code Online (Sandbox Code Playgroud)