В django, как вернуть другой конец соединения "многие ко многим"?
У меня есть схема таблицы следующего вида.
Вы пользователь и хотите получить list
других своих пользователей (в виде User
моделей). У меня есть известное users.id
значение.
SQL для этого запроса относительно прост: join users_B = entries_B.your_user
и entries_B.other_user = users_B.id
where entries_B.your_user = x
.
Я не могу понять, как это сделать в django, если только я не обрабатываю данные по почте (использование prefetch_related
считается постобработкой) или не создаю действительно странный запрос (что-то, включающее левые соединения и подзапросы). Есть ли способ получить список User
обратно и чтобы сгенерированный SQL был простым и кратким?
Вы можете .filter(…)
[Django-doc] с:
User.objects.filter(other_user_entries__your_user=myuser)