python – Flask-SQLAlchemy检查表中是否存在行
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Flask-SQLAlchemy检查表中是否存在行,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含929字,纯文字阅读大概需要2分钟。
内容图文
![python – Flask-SQLAlchemy检查表中是否存在行](/upload/InfoBanner/zyjiaocheng/890/39077a57f1624ddaa3ffcf1c27421809.jpg)
我有一个Flask应用程序,它使用Flask-SQLAlchemy连接到MySQL数据库.
我希望能够检查表中是否存在行.我如何修改这样的查询以检查行是否存在:
db.session.query(User).filter_by(name='John Smith')
我在this question上找到了一个使用SQLAlchemy的解决方案,但似乎不符合Flask-SQLAlchemy的工作方式:
from sqlalchemy.sql import exists
print session.query(exists().where(User.email == '...')).scalar()
谢谢.
解决方法:
由于您只想查看用户是否存在,因此您不希望查询整个对象.只查询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可以进行任何类型的查询.这将返回False或True而不是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 – Flask-SQLAlchemy检查表中是否存在行全部内容,希望文章能够帮你解决python – Flask-SQLAlchemy检查表中是否存在行所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。