SQLAlchemy在filter\u之后动态更新行中的值

2024-05-13 13:46:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python和SQLAlchemy都是新手。我在python 3

我创建了一个类testtbl来操作表。{1>函数

myfilter = {'origin_source_id':'MX01’}.

mysql表中查找此行,其中origin_source_id = ‘MX01'

updatevalue = {'origin_source_id':'CAL01’}

将找到的源代码替换为CAL01

电话

testtbl.update_row(myfilter,updatevalue)

函数

^{pr2}$

我收到以下错误

target_cls = query._mapper_zero().class_ 
AttributeError: 'NoneType' object has no attribute ‘class_’

我不知道怎么处理。在

有更好的方法吗?在


Tags: 函数idsource源代码sqlalchemymysqloriginclass
1条回答
网友
1楼 · 发布于 2024-05-13 13:46:10

错误是由于传递^{}对象作为查询的主实体,并试图使用^{}

In [26]: t = Table('t', metadata,
    ...:           Column('a', Integer))

In [27]: session.query(t).update({'a': 1})
...
.../python3.6/site-packages/sqlalchemy/orm/persistence.py in _do_pre_synchronize(self)
   1383     def _do_pre_synchronize(self):
   1384         query = self.query
-> 1385         target_cls = query._mapper_zero().class_
   1386 
   1387         try:

AttributeError: 'NoneType' object has no attribute 'class_'

这意味着你的self.TableClass不是mapped class。如果要对Table进行更新,请使用核心^{}构造:

^{pr2}$

相关问题 更多 >