Подтвердить что ты не робот

Самый быстрый способ создания нового объекта, только если он еще не существует (SQLAlchemy)

Я ищу самый быстрый способ создать новый объект SQLAlchemy только в том случае, если он еще не существует в базе данных.

То, как я делаю это сейчас, - сначала получить счетчик запроса, чтобы увидеть, существует ли он, а если нет - тогда я его создаю. EG:

if not User.query.filter(email=user.email).count():
    db.session.add(user)
    db.session.commit()

Это лучший способ сделать это? Хотелось бы получить некоторые отзывы. Спасибо!

4b9b3361

Ответ 1

Я обнаружил, что функция get_or_create, указанная в другом ответе SO, отвечает моим потребностям.