Запрос:
Post.objects.select_related(
'blog'
).annotate(
v=42
).order_by(
'v'
)
Проблема в том, что у Blog есть поле с именем 'v', что в итоге приводит к неоднозначности 'ORDER BY v'. Postgres не понимает v - это поле блога или аннотация.
В джанге можно уточнять модель в order_by(): 'post__v', 'blog__v'. Но у меня аннотация и как её уточнить - я не понимаю. Может есть решение?
Да, можно поменять имя у аннотации, но для меня это неудобно. Я хочу потом обращаться к аннотации как post.v, а если нужен 'v' блога, то так - post.blog.v.