📅  最后修改于: 2023-12-03 15:30:30.644000             🧑  作者: Mango
在 Django 中,我们可以通过访问 User
模型的 groups
字段来获取一个用户所在的所有组。本文将介绍两种方法来获取一个组中的所有用户。
我们可以使用查询集来获取一个组中的所有用户。首先,我们需要导入 Group
和 User
模型:
from django.contrib.auth.models import Group, User
然后,我们可以使用 get()
方法来获取指定的组:
group = Group.objects.get(name='mygroup')
接着,我们可以使用 users
属性来获取这个组中的所有用户:
users = group.user_set.all()
最后,我们可以遍历 users
查询集,并输出每个用户的用户名:
for user in users:
print(user.username)
完整代码如下:
from django.contrib.auth.models import Group, User
group = Group.objects.get(name='mygroup')
users = group.user_set.all()
for user in users:
print(user.username)
Django 中的模型可以通过外键、多对多等关系来与其他模型建立关联。因此,我们也可以使用反向关系来获取一个组中的所有用户。
首先,我们需要获取指定的组:
group = Group.objects.get(name='mygroup')
然后,我们可以使用 user_set
反向关系来获取这个组中的所有用户:
users = group.user_set.all()
完整代码如下:
from django.contrib.auth.models import Group, User
group = Group.objects.get(name='mygroup')
users = group.user_set.all()
for user in users:
print(user.username)
本文介绍了两种方法来获取一个组中的所有用户。第一种方法使用了查询集,通过访问 Group
模型的 user_set
属性来获取这个组中的所有用户;第二种方法使用了反向关系,通过访问 User
模型的 groups
字段来获取一个用户所在的所有组。
无论你选择哪种方法,都可以轻松地获取组用户。