Вы можете получить User_Thread
с данного Chat
с помощью:
my_chat<b>.thread.user_thread_set.all()</b>
Если вы хотите сделать это для числа Chat
с, вы можете .prefetch_related(..)
[Django -doc] это с:
chats = Chat.objects.select_related('thread')<b>.prefetch_related('thread__user_thread')</b>
Это выполнит два запроса и выполнит JOIN на слое Django / Python. Выполнение такого JOIN в запросе приведет к огромному количеству записей, которые, вероятно, содержат много повторяющихся данных, поэтому вы не можете использовать .select_related(..)
[Django -doc] для этого.
Затем вы можете перебирать чаты и, например, перечислять User_Thread
s с:
for chat in chats:
for ut in chat.thread.user_thread_set.all():
print(''.format(chat.message, ut.receiver_id))