草庐IT

SqlAlchemy

全部标签

python - 如何获取受 SQL Alchemy 影响的行数?

如何使用sqlalchemy获取更新语句影响的行数?(我正在使用mysql和python/pyramid):fromsqlalchemy.engine.baseimportResultProxy@classmethoddefmyupdate(cls,id,myvalue):DBSession.query(cls).filter(cls.id==id).update({'mycolumn':myvalue})ifResultProxy.rowcount==1:returnTrueelse:returnFalse注意:我看到了thispost但根据thedocs:“'rowcount'报告

mysql - 在新模型上设置 ID

是否可以创建模型的新实例并设置它的ID?每当我尝试这样做时,模型都会保留下来,但ID会设置为MySQL自动递增列表中的下一个可用数字。例如我想像这样创建一个新的传感器:s=newSensor()s.id=14s.name='mysensor'db.session.add(s)db.session.commit()saved_instance=Sensor.query.get(14)assertsaved_instanceisnotNone断言失败。 最佳答案 我要冒险了(因为你没有提供让我确定知道的信息)但我相信你的传感器声明使用了

python - 使用 SQLAlchemy 批量更新子查询

我正在尝试使用SQLAlchemy实现以下MySQL查询。有问题的表是嵌套集层次结构。UPDATEcategoryJOIN(SELECTnode.cat_id,(COUNT(parent.cat_id)-1)ASdepthFROMcategoryASnode,categoryASparentWHEREnode.lftBETWEENparent.lftANDparent.rgtGROUPBYnode.cat_id)ASdepthsONcategory.cat_id=depths.cat_idSETcategory.depth=depths.depth这很好用。这是我开始拔头发的地方:fr

python - 使用 sqlalchemy 类型的数据框 to_sql 的无符号整数

在使用.to_sql()将我的数据帧写入MySQL数据库时,我无法分配unsignedint类型。我可以使用其他int类型,但无法获得unsigned。我正在尝试的一小部分代表性样本如下所示:importpandasaspdfromsqlalchemyimportcreate_engineimportsqlalchemy.typesassql_typesdb_engine=create_engine('mysql://db_user:db_pass@db_host:db_port/db_schema')d={'id':[100,101,102],'items':[6,10,20000]

python - 使用存储过程保持 ORM

我正在开发一个使用sqlalchemy与mysql数据库通信的Python网络应用程序。到目前为止,我主要使用sqlalchemy的ORM层与数据库对话。ORM给我的最大好处是开发速度,不必编写所有这些sql查询,然后将它们映射到模型。然而,最近我被要求更改我的设计以通过存储过程与数据库通信。有谁知道是否有任何方法可以通过存储过程使用sqlalchemyORM层来处理我的模型?是否有另一个Python库可以让我这样做?在我看来,我应该能够编写自己的选择、插入、更新和删除语句,将它们附加到模型,然后让库完成剩下的工作。我已经多次浏览sqlalchemy的文档,但似乎找不到执行此操作的方法

python - Gearman + SQLAlchemy - 不断丢失 MySQL 线程

我有一个python脚本,可以设置几个gearmanworker。他们在我拥有的SQLAlchemy模型上调用了一些方法,这些方法也被Pylons应用程序使用。在一两个小时内一切正常,然后MySQL线程丢失并且所有查询失败。当我为pool_recycle定义如此低的值时,我无法弄清楚为什么线程会丢失(我在3个不同的服务器上得到相同的结果)。另外,为什么不创建新连接?有什么要调查的想法吗?importgearmanimportjsonimportConfigParserimportsysfromsqlalchemyimportcreate_engineclassJSONDataEncod

python - 将字符串传递给 SQLalchemy 查询

实际上我有一个代码可以从文本文件中获取必要的详细信息。这里我从文本文件中获取一些id。然后我需要将相同的内容传递给SQLAlchemy查询以获取结果。但是我没有得到这里需要的结果。这是代码:addys=','.join('"{}"'.format(''.join(tenant))fortenantintenantsiftenant)#print"%s"%(addys)#cleanupandclosefilesfiles.close()query1=query1.filter(model.name=="in-addr.arpa.")query2=query2.filter(model.t

python - SQLAlchemy - 简单的选择语句

背景:我是SQLAlchemy的新手,对于我应该如何选择东西似乎相当困惑。我的mysql数据库中有一个名为genes的表,其中有gene_id、gene_description和gene_symbol我想做什么:我只想做一个简单的选择查询:Select*fromGenes但我似乎对如何实现这一目标感到困惑这是我所做的:importsqlalchemyfromsqlalchemy.ormimportsessionmakerfromsqlalchemy.ext.automapimportautomap_baseimportcsvimportpandasaspdengine=sqlalche

python - Flask-Sqlalchemy:数据库查询不返回新数据

我正在构建一个应用程序,它从一项服务接收网络Hook,将数据存储在数据库中,然后通过API提供数据。我能够成功地将数据添加到我的应用程序,但是当我查询数据库时,我只收到上次启动应用程序时数据库中的第一次提交。例如,如果我在启动应用程序时在订单表中有26个订单,然后触发webhook,Order.query.all()将返回27个订单,直到我重新启动应用程序,不管表中实际有多少订单(我可以使用MySQL进行验证)。下面是用于将数据插入表中的类的示例:@webhook.route('/order/insert',methods=['POST'])definsert_orders():sod

python - 如何更新 SqlAlchemy 中的所有对象列?

我有一张用户表(超过15列),有时我需要完全更新所有用户属性。例如,我想替换user_in_db=session.query(Users).filter_by(user_twitter_iduser.user_twitter_id).first()与其他一些对象。我找到了以下解决方案:session.query(User).filter_by(id=123).update({"name":user.name})但我觉得编写所有15个以上的属性很容易出错,应该有一个更简单的解决方案。 最佳答案 你可以这样写:session.query