【问题标题】:Django Get All UsersDjango 获取所有用户
【发布时间】:2021-09-25 01:26:23
【问题描述】:

我刚开始使用 Django,我只是想从 postgres 中提取完整的用户列表。

我使用了以下代码:

group = Group.objects.get(name="Admins")
usersList = group.user_set.all()

如何拉动所有用户?我不想选择或分配一个组。

group = Group.objects.get() #Doesn't Work.
usersList = group.user_set.all()

【问题讨论】:

    标签: python django


    【解决方案1】:
    from django.contrib.auth import get_user_model
    User = get_user_model()
    users = User.objects.all()
    

    【讨论】:

    • @Adam 这是有据可查的,很奇怪你找不到它。 docs.djangoproject.com/en/dev/topics/db/queries/…
    • @brandon 你知道我读过,但没有意识到你可以在任何对象上做到这一点。
    • 不用担心。它只是一个标准的 Django ORM 调用,它存在于每个模型上的模型管理器中,除非被覆盖。
    • 使用 django.contrib.auth.get_user_model() 代替用户!!!也许有一天你会使用自定义用户模型,直接使用 User 会变成一个编码地狱。
    【解决方案2】:

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

    from django.contrib.auth import get_user_model
    user = get_user_model()
    user.objects.all()
    

    【讨论】:

      【解决方案3】:

      试试这个:

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

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

      【讨论】:

        【解决方案4】:
        from django.contrib.auth.models import User
        userList =User.objects.values()
        

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

        【讨论】:

          【解决方案5】:

          您可以使用此代码

          from django.contrib.auth.models import User
          users = User.object.all()
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-06-08
            • 1970-01-01
            • 2017-01-27
            • 2015-02-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-21
            相关资源
            最近更新 更多