Как я могу получить список комнат, к которым присоединился пользователь через другую модель

У меня есть 3 модели: User, Room, Join. Я пытаюсь получить список комнат, к которым присоединился пользователь, но не знаю как.

# models.py
class User(models.Model):
  full_name = models.CharField(max_length=40)

class Room(models.Model):
  room_name = models.CharField(max_length=40)
  create_by = models.ForeignKey(User, on_delete=models.CASCADE)

class Join(models.Model):
  room = models.ForeignKey(Room, on_delete=models.CASCADE)
  user = models.ForeignKey(User, on_delete=models.CASCADE)

Я пытался использовать related_name и related_query_name, но, к сожалению, я не знаю, как эти вещи работают. Если мой вопрос дублируется, пожалуйста, предоставьте мне несколько ключевых слов, заранее спасибо.

Вы можете получить Rooms, для которых Join с myuser существует

Room.objects.filter(join__user=myuser)

Если возможно, что один и тот же User присоединился к одному и тому же Room несколько раз, вы можете работать с:

Room.objects.filter(join__user=myuser).distinct()
Вернуться на верх