Как отфильтровать аннотированный набор запросов с помощью функции Window без изменения аннотированного поля
У меня есть набор пользователей, после аннотирования ранга каждого пользователя с помощью функции Django Window, я хочу запросить пользователя без изменения значения ранга
users_points_query = users.order_by(
'-total_points'
).annotate(
rank=Window(
expression=Rank(),
order_by=[
F('total_points').desc()
],
)
)
это работает нормально, но при фильтрации по запросу users_points_query
ранг вычисляется снова, поэтому первый пользователь получит ранг 1, который основан на первой строке и так далее.