Как найти пользователя существует в таблице MySQL, используя peewee ORM? - PullRequest
0 голосов
/ 23 октября 2018

У меня есть эта таблица в 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 голосов
/ 23 октября 2018

Почему вы ожидаете, что метод вернет None, если в документации четко указано, что

Если модель не возвращена, вызывается DoesNotExist.

Источник: http://docs.peewee -orm.com / ен / последний / PeeWee / api.html # Model.get

...