django - запрос заказа, заданный функцией postgres - PullRequest
1 голос
/ 13 апреля 2010

Мой начальный вопрос был здесь и был связан с бэкэндом postgres. Подзапрос Postgres, упорядочение по подзапросу

Теперь моя проблема переместилась в слой Django ORM. По сути, я хочу упорядочить запрос с помощью функции postgres ('idx', взятой из описанной выше работы stackoverflow)

Я пытался использовать model.objects.extra (order_by) или просто order_by, но я полагаю, что оба из них нуждаются в том, чтобы параметр order_by был атрибутом или полем, известным Джанго.

Я пытаюсь решить, как решить эту проблему, не возвращаясь к использованию полностью необработанного SQL-запроса через менеджер моделей.

1 Ответ

5 голосов
/ 13 апреля 2010

Вы можете использовать extra, чтобы добавить результат функции к вашему запросу и затем упорядочить его. Что-то вроде:

MyModel.objects.extra(select={'idx': 'idx(foo, bar)'}, order_by=['idx'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...