我正在尝试通过id更新SQLite表中的行。
我有课
class newTestCaseData(Base):
__tablename__ = 'test_cases'
__table_args__ = {"useexisting": True}
failure_datails = Column('failure_details', String)
exec_status = Column('exec_status', String)
execution_duration = Column('execution_duration', String)
def __init__(self, failure_details=None, execution_duration=None, exec_status = None):
self.failure_datails = failure_details
self.execution_duration = execution_duration
self.exec_status = exec_status
这是我更新表中行的方法:
def update_by_external_id(self, tc_external_id, add_tc_status, add_tc_duration, add_failure_details):
self.new_session.query(newTestCaseData).filter_by(external_id=tc_external_id).\
update({
'exec_status': add_tc_status,
'execution_duration': add_tc_duration,
'failure_details': add_failure_details})
self.new_session.commit()
执行此操作后,我收到错误:sqlalchemy.exc.InvalidRequestError: Entity '<class 'models.TestCaseData.newTestCaseData'>' has no property 'failure_details'
但如果我从方法'update_by_external_id'中删除'failure_details',一切正常:
def update_by_external_id(self, tc_external_id, add_tc_status, add_tc_duration):
self.new_session.query(TestCaseDatas).filter_by(external_id=tc_external_id).\
update({
'exec_status': add_tc_status,
'execution_duration': add_tc_duration})
self.new_session.commit()
这是SQLite Studio中的'failure_details'列:
我做错了什么?
答案 0 :(得分:1)
“failure_datails”中存在拼写错误