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

时间:2017-08-13 06:49:01

标签: django django-models python-3.6

我尝试使用以下命令在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.

4 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

您的用户的用户名是&#34; admin&#34;,如查询集中所示。

答案 2 :(得分:0)

使用User.objects.get(),意味着您要从数据库中检索对象。但是看着您的代码,您没有'rohan'对象,因此您无法获得()它!!

因此,您可以在此处首先创建

答案 3 :(得分:0)

使用时:

User.objects.get()

这意味着你知道 get() 会返回一些东西,而在你的情况下它不是

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

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

过滤器将执行,如果没有找到用户名为 rohan 的用户,它将返回一个“空列表”而不会给你一个异常