Возможно, это базовый c вопрос, но у меня есть строки в таблице с составным ключом. Составной ключ состоит из «id» и «version». Оба ключа имеют формат Integer. Теперь я хочу сделать запрос к базе данных таким образом, чтобы мы могли извлечь запись, основываясь только на последнем номере версии (чем больше номер, тем больше последняя запись). Есть ли в flask -sqlalchemy подзапрос или функция, которая может этого достичь?
Вот пример, иллюстрирующий это:
[id | version | othercolumn_1 | othercolumn_2]
[1001 | 1 | someotherthing | someotherthing ]
[1001 | 2 | someotherthing | someotherthing ]
[1002 | 1 | someotherthing | someotherthing ]
[1002 | 2 | someotherthing | someotherthing ]
[1003 | 3 | someotherthing | someotherthing ]
[1003 | 1 | someotherthing | someotherthing ]
[1003 | 2 | someotherthing | someotherthing ]
Я хочу получать записи только с последней версией в данном случае
[1001 | 2 | someotherthing | someotherthing ]
[1002 | 2 | someotherthing | someotherthing ]
[1003 | 3 | someotherthing | someotherthing ]
Что я пробовал:
Table.query.filter_by(Table.id).distinct().order_by(Table.version.desc()).all()
Это дало мне все записи, ранжированные от последней версии до самой старой. Я хотел только самую последнюю запись версии каждого уникального идентификатора.