您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Flask-SQLAlchemy检查表中是否存在行

Flask-SQLAlchemy检查表中是否存在行

由于你只想查看用户是否存在,因此你不想查询整个对象。只需查询id,如果标量返回不为None,它就存在。

exists = db.session.query(User.id).filter_by(name='davidism').scalar() is not None
SELECT user.id AS user_id 
FROM user 
WHERE user.name = ?

显示的第二个查询也可以正常工作,Flask-sqlAlchemy不会阻止sqlAlchemy进行任何类型的查询。这将返回FalseTrue而不是None上面的id,但是它稍微贵一点,因为它使用了子查询

exists = db.session.query(db.exists().where(User.name == 'davidism')).scalar()
SELECT EXISTS (SELECT * 
FROM user 
WHERE user.name = ?) AS anon_1
Python 2022/1/1 18:21:43 有281人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶