Django ManyToMany查询

时间:2018-04-15 21:05:21

标签: python django

可能是一个愚蠢的问题,但我是django的新手。

这是我的用户,

class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(unique=True, max_length=255)
    mobile = PhoneNumberField(null=True)
    username = models.CharField(null=True, unique=True, max_length=255)

这是我的Room对象与ManyToMany

User关系
class Room(Base):
    name = models.CharField(unique=True, max_length=255)
    club = models.ForeignKey(Club, on_delete=models.CASCADE, null=True)
    users = models.ManyToManyField(User)

从这个模型中,很容易让所有用户进入一个房间。我的问题是我如何为用户获得所有房间。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:4)

使用反向关系:

my_user.room_set.all()

答案 1 :(得分:2)

如果您想更改反向关系名称

main.bf49565a4e90c0772548.bundle.js

现在使用与class Room(Base): ''' fields above ''' users = models.ManyToManyField(User,related_name='get_rooms')

的反向关系
related_name