如何使用peewee ORM查找mysql表中存在的用户?

时间:2018-10-23 06:23:47

标签: python mysql-python peewee flask-peewee

我在mysql中有此表

import peewee

class User(peewee.Model):

    username = peewee.Charfield(max_length=60)
    email = peewee.Charfield(max_length=300)

    def __repr__(self):
        return "<User: {}>".format(self.username)

当我为现有用户尝试以下代码时:

User.get(email="zhaochang@qq.com")

它返回<User: zhaochang>

但是对于不存在User.get(email="some_random@email.com")的随机电子邮件/用户,它会引发错误:

UserDoesNotExist:Instance matching query does not exist:

SQL: SELECT 't1'.'id', 't1'.'email', 't1'.'username' FROM 'user' AS t1 WHERE ('t1'.'email' = %s) PARAMS: [u'some_random@email.com']

我希望User.get方法返回None。

1 个答案:

答案 0 :(得分:1)

当文档明确指出

时,为什么期望该方法返回None?
  

如果未返回任何模型,则会引发DidNotExist。

来源:http://docs.peewee-orm.com/en/latest/peewee/api.html#Model.get