如何获取用户通过其他模型加入的房间列表
How can I get list of rooms user joined via another model
我有 3 个模型:用户、房间、加入。我正在尝试获取已加入房间用户的列表,但我不知道如何获取。
# 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
的 Join
和 myuser
存在于:
Room.objects.filter(<strong>join__user=<em>myuser</em></strong>)
如果同一个 User
可能多次加入同一个 Room
,您可以使用:
Room.objects.filter(join__user=<em>myuser</em>)<strong>.distinct()</strong>
我有 3 个模型:用户、房间、加入。我正在尝试获取已加入房间用户的列表,但我不知道如何获取。
# 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
的 Join
和 myuser
存在于:
Room.objects.filter(<strong>join__user=<em>myuser</em></strong>)
如果同一个 User
可能多次加入同一个 Room
,您可以使用:
Room.objects.filter(join__user=<em>myuser</em>)<strong>.distinct()</strong>