блокировка на уровне строк в sql алхимии ORM - PullRequest
0 голосов
/ 01 октября 2019

У меня есть таблица, в которой я хочу реализовать блокировку на уровне строк. Вот код, который я пробовал, но он не выполняет свою работу. Могу ли я узнать, как это можно сделать

Имя таблицы является input_table, в котором есть два столбца:

1) data_id, Integer, Primary Key
2) data_value, String,

Ниже приведен код, который я пробовал:

db = sql.create_engine(connectionString)
metadata = sql.schema.MetaData(bind=db, reflect=True)
input_table = sql.Table('input_table', metadata, autoload=True)

class InputTable(object):
    pass

orm.Mapper(InputTable, input_table)
SessionMaker = orm.sessionmaker(bind=db)
session = SessionMaker()
rowInputTable = InputTable()

foo = session.query(rowInputTable ).with_for_update().filter_by(rowInputTable.data_id).first()

session.add(foo)
# session.add(rowJsonInputTable)
session.commit()

Iполучаю следующую ошибку:

sqlalchemy.exc.InvalidRequestError: SQL expression, column, or mapped 
entity expected - got '<__main__.JsonInputTable object at 
0x000002640EDE3AC8>'
...