Я пытаюсь создать функцию для обновления строк в базе данных на основе экземпляра класса.
В основном я хотел бы сделать что-то вроде этого:
def update_table(self, result):
session = self.Session()
session.query(result.__class__).filter_by(id=result.id).update(result)
session.commit()
session.close_all()
user = db.Model.User(
id = 1,
name = "foo"
)
# Store user to db
db.save(user)
updated_user = db.Model.User(
id = 1,
user = "bar"
)
# Update the users name with id=1
update_table(updated_user)
Проблема в c в том, что запрос сеанса приводит к
TypeError: объект 'User' не повторяется
но, на мой взгляд, это должно закончиться с обновленным пользователем с именем = "bar".
Есть ли способ создать такую функцию с помощью SQLAlchemy ORM?