Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python SQLAlchemy中使用数据库模型对象,而不干扰数据库事务_Python_Flask_Flask Sqlalchemy - Fatal编程技术网

在Python SQLAlchemy中使用数据库模型对象,而不干扰数据库事务

在Python SQLAlchemy中使用数据库模型对象,而不干扰数据库事务,python,flask,flask-sqlalchemy,Python,Flask,Flask Sqlalchemy,我正在使用SQL Alchemy从数据库中获取一些对象。因为我使用Flask和Jinja中的对象为用户创建网页,所以编辑原始数据库值有时很方便。例如,这可能意味着将用户id替换为易读的用户名 当我对数据库函数返回的模型对象执行此操作时(请参见下面的示例),我开始出现错误。我怀疑这与SQLAlchemy“认为”我想要更改数据库行的事实有关,因为我正在编辑模型类/对象的属性 但是,在这种情况下,我只想将它们用作“平面”纯数据对象。回避这个问题的最好办法是什么 if not sql_session.q

我正在使用SQL Alchemy从数据库中获取一些对象。因为我使用Flask和Jinja中的对象为用户创建网页,所以编辑原始数据库值有时很方便。例如,这可能意味着将用户id替换为易读的用户名

当我对数据库函数返回的模型对象执行此操作时(请参见下面的示例),我开始出现错误。我怀疑这与SQLAlchemy“认为”我想要更改数据库行的事实有关,因为我正在编辑模型类/对象的属性

但是,在这种情况下,我只想将它们用作“平面”纯数据对象。回避这个问题的最好办法是什么

if not sql_session.query(Client).count():

    return {"state" : False, "clients" : [] }

else: 

    return {"state" : True, "clients" : sql_session.query(Client).filter().all() }

在使用对象之前先使对象成为瞬态对象