Ещё посмотри вот это. Я так понимаю, у тебя там старая джанга. А эта штука появилась с версии 2.0. Если не критично до неё обновиться, то смотри какая тут красивая картина: оно объявляется в annotation, а значит, будет доступно в order_by
Если по нему потом можно делать order_by, то это иммено то что нужно. Сейчас проверю
Не совсем понял как так можно саннотировать set в одно значение.
А то, что ты в prefetch получаешь, нельзя как-нибудь прогнать через annotation? А потом уже с аннотации сортировать?
class Prefetch(lookup, queryset=None, to_attr=None)
The to_attr argument sets the result of the prefetch operation to a custom attribute.