Почему Django упорядочивает по номеру столбца, а не по его имени?
У меня есть такой код Django ORM:
queryset.filter(filters).annotate(rank=SearchRank(vectors, search_query)).order_by('-rank').distinct()
и Django преобразует этот код в sql:
SELECT
DISTINCT "model_1"."id",
...
...
...
ts_rank(
"model_2"."search_vector",
phraseto_tsquery(query)
) AS "rank"
FROM
"model_1"
INNER JOIN "model_2" ON (
"model_1"."id" = "model_2"."case_id"
)
WHERE
(
"model_2"."search_vector" @@ (
phraseto_tsquery(query)
)
)
ORDER BY
41 ASC
Я не могу понять, почему Django использует 41 (это номер аннотированного столбца рангов) вместо имени столбца, и я не могу найти никаких документов Django, которые описывают эту логику.
Версия Django: 5.0.2