Как я могу упорядочить объекты по некоторому атрибуту ребенка в sqlalchemy? - PullRequest
3 голосов
/ 29 января 2009

Вот ситуация: у меня родительская модель скажет BlogPost. У него много Comment с. Мне нужен список BlogPost, упорядоченный по дате создания его 'Comment s. То есть сообщение в блоге, которое имеет самый новый комментарий, должно быть в верхней части списка. Возможно ли это с помощью SQLAlchemy?

Ответы [ 2 ]

3 голосов
/ 29 января 2009

http://www.sqlalchemy.org/docs/05/mappers.html#controlling-ordering

Начиная с версии 0.5 ORM не создать порядок для любого запроса, если явно настроен.

Порядок по умолчанию для коллекция, которая относится к коллекции на основе списка, могут быть настраивается с помощью ключевого слова order_by аргумент в отношении ():

1 голос
/ 04 августа 2009

У меня был тот же вопрос, что и у родителя при использовании ORM, и ссылка GHZ содержала ответ о том, как это возможно. В sqlalchemy, предполагая, что BlogPost.comments является сопоставленным отношением к таблице комментариев, вы не можете сделать:

session.query (BlogPost) .order_by (BlogPost.comments.creationDate.desc ())

, но вы можете сделать:

session.query (BlogPost) .join (Комментарии) .order_by (Comments.creationDate.desc ())

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...