У меня есть огромный, но не сложный sql запрос, который нужно преобразовать в запрос django orm
Мне нужно преобразовать следующий sql запрос, но я не знаю, как преобразовать его в равный запрос в django orm Я буду очень рад, если вы сможете :)))
select dialog_messages.*,
sender.first_name as sender_first_name,
sender.last_name as sender_last_name,
sender.cell_number as sender_cell_number,
sender.avatar_full_path as sender_avatar_full_path, receiver.first_name as receiver_first_name,
receiver.first_name as receiver_first_name,
receiver.last_name as receiver_last_name,
receiver.cell_number as receiver_cell_number, receiver.avatar_full_path as receiver_avatar_full_path from dialog_messages`` inner join user sender on ``sender``.``user_id`` = dialog_messages``.``sender_id`` inner join user receiver on receiver``.``user_id`` = ``dialog_messages``.``receiver_id`` where `dialog_id`` = ? order by ``dialog_messages``.``id`` desc
Вам следует использовать select_related
(а также посмотреть prefetch_related
). Вы можете проверить ссылку по адресу:
В вашем коде, не зная больше о ваших моделях, я думаю, вы могли бы начать с чего-то вроде:
DialogMessage.objects.select_related('sender', 'receiver')