相关疑难解决方法(0)

如何优雅地检查对象/实例/变量的存在,并同时将其分配给变量(如果它存在于python中)?

我正在使用SQLAlchemy来填充数据库,我经常需要在处理之前检查数据库中是否存在orm对象.这可能是一个非传统的问题,但我发现自己经常遇到这种模式:

my_object = session.query(SomeObject).filter(some_fiter).first()
if my_object: # Mostly in databases...
    # Juchee it exists
    # process
else:
    # It does not exist. :-(
    my_object = SomeObject()
    # process
Run Code Online (Sandbox Code Playgroud)

梦想的是:

if my_object = session.query(someObject).blabla.first():
    # if my_object is None this scope is left alone
    # if my_object is not None I can work with my_object here...
Run Code Online (Sandbox Code Playgroud)

我知道,这种语法是错误的,但我想解释一下,我的意思是这个例子.任何等效的方式都会让我开心.

这种模式有一种优雅的python方法吗?这个问题不仅针对SQLAlchemy,而且针对每个等效场景.

闭上眼睛打"发布你的问题"并等待聪明的人和蟒蛇人用心去追捕我,因为他们可能会说些不合适的东西 ;-)

python sqlalchemy

66
推荐指数
4
解决办法
6万
查看次数

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

我有一个Flask应用程序,它使用Flask-SQLAlchemy连接到MySQL数据库.

我希望能够检查表中是否存在行.我如何修改这样的查询以检查行是否存在:

db.session.query(User).filter_by(name='John Smith')
Run Code Online (Sandbox Code Playgroud)

我找到了一个使用SQLAlchemy的问题的解决方案,但似乎不符合Flask-SQLAlchemy的工作方式:

from sqlalchemy.sql import exists    
print session.query(exists().where(User.email == '...')).scalar()
Run Code Online (Sandbox Code Playgroud)

谢谢.

python sqlalchemy flask flask-sqlalchemy

26
推荐指数
3
解决办法
3万
查看次数

标签 统计

python ×2

sqlalchemy ×2

flask ×1

flask-sqlalchemy ×1