Так что этот фрагмент практически объясняет, что я хочу сделать
bloc_results = bloc_results.annotate(num_mates=Count(profilebloc__profile__in=probable_mates)).order_by("-num_mates")
Я знаю, что это невозможно, но это был самый простой способ объяснить ситуацию. переменная probable_mates - это список, заполненный персональными файлами пользовательской таблицы. Поэтому я должен получить этот номер и порядок по нему. Это не проблема с использованием фильтра. Дело в том, что использование фильтра извлекает только те объекты, которые совпадают с идентификаторами в этом списке probable_mates, а не все с теми, у которых наибольшее количество совпадений вверху, что мне и нужно получить. Как я могу сделать это с Django ORM без использования необработанного SQL? Спасибо!
РЕДАКТИРОВАТЬ: Я поясню немного, объясняя, что это делает: Есть несколько клубов, которые будут добавлены в это веб-приложение, и мне нужно отсортировать по двум различным параметрам. Один из них по количеству членов каждого клуба, что довольно просто. Второй - «Клубными друзьями», так что все клубы упорядочены по количеству общих друзей с зарегистрированным пользователем, даже если этот пользователь не вступил в этот клуб. И это не так сложно. Проблема в том, что когда я получаю этот набор запросов и заказываю его, он отображает только те клубы, у которых есть общие друзья, а не остальные. Мне нужны те, у кого есть друзья по клубу наверху, заказанные по количеству общих друзей по клубу, а остальные внизу, даже если у них нет общих друзей по клубу.
python,django,web,