Django获取所有用户

Ada*_*dam 33 python django

我刚刚开始使用Django,我正在努力从postgres中提取完整的用户列表.

我使用了以下代码:

group = Group.objects.get(name="Admins")
usersList = group.user_set.all()
Run Code Online (Sandbox Code Playgroud)

你怎么能拉动所有用户?我不想挑选或指派一个团体.

group = Group.objects.get() #Doesn't Work.
usersList = group.user_set.all()
Run Code Online (Sandbox Code Playgroud)

Bra*_*don 72

from django.contrib.auth.models import User

users = User.objects.all()
Run Code Online (Sandbox Code Playgroud)

  • @Adam 这是有据可查的,很奇怪你找不到它。https://docs.djangoproject.com/en/dev/topics/db/queries/#retrieving-all-objects (2认同)
  • 别担心.它只是一个标准的Django ORM调用,存在于每个模型上的模型管理器上,除非被覆盖. (2认同)
  • 使用 django.contrib.auth.get_user_model() 而不是 User !!!也许有一天你会使用自定义用户模型并直接使用 User 会使编码地狱。 (2认同)

小智 7

尝试这个:

from django.contrib.auth.models import User
all_users = User.objects.values()
print(all_users)
print(all_users[0]['username'])
Run Code Online (Sandbox Code Playgroud)

all_users将包含用户的所有属性。根据您的要求,您可以过滤掉记录。


小智 6

Django get user 这也是获取所有用户、创建用户、更改密码等的简单方法

from django.contrib.auth import get_user_model
user = get_user_model()
user.objects.all()
Run Code Online (Sandbox Code Playgroud)


Ros*_*iya 5

from django.contrib.auth.models import User
userList =User.objects.values()
Run Code Online (Sandbox Code Playgroud)

将从 Django 用户表中以列表格式返回所有用户的值。User.objects.all() 将返回对象。