【问题标题】:Query django default user model object using email使用电子邮件查询 django 默认用户模型对象
【发布时间】:2019-09-20 07:55:09
【问题描述】:

我正在使用 django 的自定义用户模型。我想根据电子邮件属性查询用户对象。我正在这样做:

user  = User.objects.get(email = email)

但它给了我错误

文件“D:\stocksapp\winenv\lib\site-packages\django\db\models\query.py”,第 399 行,在 get self.model._meta.object_name main.models.Code.DoesNotExist:代码匹配查询不存在。

【问题讨论】:

  • 这意味着没有User 对象与email,这不是查询本身的错误,但根本没有这样的用户,正如DoesNotExist 提示的那样。
  • @WillemVanOnsem 代码匹配查询不存在。 我认为这意味着他正在查询一个名为 Code 的模型,而问题不在于 User 模型。我说的对吗?
  • 我认为您的应用程序中有一个名为 Code 的模型,您正在查询该模型。该模型的实例DoesNotExist 根据您的查询参数。如果是,你能用那段代码更新你的问题吗?

标签: python django django-models


【解决方案1】:

如果没有与查询匹配的内容,User.objects.get 函数将引发错误。您可以使用 try/except 块来处理此错误,或者执行以下操作:

user = None
users = User.objects.filter(email=email)
if users.exists():
    user = user.first()

【讨论】:

    猜你喜欢
    • 2018-10-19
    • 1970-01-01
    • 2010-10-23
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多