Я пытаюсь построить запрос ORM в Django. Сначала посмотрите на схему базы данных.
Стол для совещаний (meeting_meeting)
+----+------+------+
| id | host | name |
+----+------+------+
| 1 | 1 | M1 |
| 2 | 8 | M2 |
| 3 | 1 | M3 |
| 4 | 1 | M4 |
+----+------+------+
Таблица участников (meeting_participants)
+----+------------+---------+
| id | meeting_id | user_id |
+----+------------+---------+
| 1 | 1 | 8 |
| 1 | 3 | 8 |
+----+------------+---------+
Все, что я пытаюсь сделать, - это создать список собраний, которые кто-то создал или присоединился. Например, пользователь 8 создал только одну встречу (M2), но присоединился к двум встречам (M1 и M3). Таким образом, запрос вернет M1, M2 и M3 как Meeting QueryDict.
Я уже сделал запрос с чистым sql.
SELECT DISTINCT meeting_meeting.id, meeting_meeting.* FROM meeting_meeting
LEFT JOIN meeting_participants on meeting_participants.meeting_id = meeting_meeting.id
and ( meeting_meeting.host_id = 8 OR meeting_participants.user_id = 8 )
Я просто не уверен, как это сделать с ORM в Django. Я нашел ссылку на prefetch_related и выбрал related, но я не могу собрать все воедино.