django.contrib.auth.models.DoesNotExist: 用户匹配查询不存在

django.contrib.auth.models.DoesNotExist: User matching query does not exist

我尝试使用以下命令在 python shell 中创建用户实例。

from django.contrib.auth.models import User
User.objects.all()
<QuerySet [<User: admin>]>
me = User.objects.get(username='rohan')

之后我得到了以下错误。有人可以帮忙吗

 Traceback (most recent call last):
      File "<console>", line 1, in <module>
      File "C:\Users\Rohan Jain\AppData\Local\Programs\Python\Python36\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
        return getattr(self.get_queryset(), name)(*args, **kwargs)
      File "C:\Users\Rohan Jain\AppData\Local\Programs\Python\Python36\lib\site-packages\django\db\models\query.py", line 380, in get
        self.model._meta.object_name
    django.contrib.auth.models.DoesNotExist: User matching query does not exist.

你有 no User with username rohan。不过您似乎有一个用户名为 admin 的用户。

me = User.objects.get(username='admin')

您的用户名是 "admin",如查询集中所示。

使用User.objects.get(),意味着你想从你的数据库中检索一个对象。但是看你的代码,你没有rohan的对象,所以你拿不到

所以,你在这里可以做的就是先创建它。

当您使用:

User.objects.get()

这意味着您知道 get() 会 return 某些东西,而在您的情况下它不会

您可能想要执行以下操作:

User.objects.filter(username='rohan')

过滤器将执行,如果没有找到用户名为 rohan 的用户,它将return一个“空列表”而不给你一个例外