Как я могу получить список комнат, к которым присоединился пользователь через другую модель
У меня есть 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, но, к сожалению, я не знаю, как эти вещи работают. Если мой вопрос дублируется, пожалуйста, предоставьте мне несколько ключевых слов, заранее спасибо.
Вы можете получить Room
s, для которых Join
с myuser
существует
Room.objects.filter(join__user=myuser)
Если возможно, что один и тот же User
присоединился к одному и тому же Room
несколько раз, вы можете работать с:
Room.objects.filter(join__user=myuser).distinct()