Я использую декларативный аромат SQL Alchemy с базой данных PostgreSQL. У меня есть ClaimAccount
, который управляет объектами Claim
. Что-то вроде:Пользовательские коллекции в SQL Alchemy
class Claim(MyBase):
manager_id = Column(UUID, ForeignKey(ClaimAccount.id))
manager = relationship(ClaimAccount, backref='claims')
created = Column(DATE)
Теперь, если a
является ClaimAccount
, то a.claims
список Claim
с. Это хорошо, но я бы хотел, чтобы он сортировался по столбцу created
, так как я всегда хочу пробивать через .claims
на заказ от старого до новейшего. Конечно, я могу сортировать его на Python, но, вероятно, было бы лучше (яснее, быстрее, DRYer, более удобно), если Postgres сделал это для меня.
Сначала я подумал, что ответ должен был установить collection_class
на связь с некоторыми PriorityQueue или SortedList или что-то еще, но теперь я думаю, что это повлияет только на то, как претензии вставляются в структуры данных Python, а не как они извлекаются из базы данных. Кроме того, в документации говорится, что «в большинстве случаев вам не нужна реализация пользовательской коллекции» (однако, упомянутые там случаи не содержат мой, похоже).
Есть ли у вас какие-либо советы о том, как лучше всего это сделать?
Вы можете заказать запрос по любому полю. См. Соответствующий вопрос: http://stackoverflow.com/questions/4186062/sqlalchemy-order-by-descending –