@wawa

Как уточнить аннотацию в order_by, если она конфликтует с полем объединенной модели?

Запрос:
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.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы