#python #sqlalchemy #sqlmodel
Вопрос:
Используя Python SQLModel, я хочу усечь таблицу или удалить все строки и получить количество удаленных строк наиболее стандартным способом SQLModel. Как я могу это сделать? Я использую это:
with Session(engine) as session:
count = session.exec(delete(MyModel)).fetchall()
session.commit()
Но это вызывает ошибку:
ResourceClosedError('This result object does not return rows. It has been closed automatically.')
Я также пробовал scalar()
и fetchone()
вместо fetchall()
безуспешно.
Ответ №1:
with Session(engine) as session:
statement = delete(MyModel)
result = session.exec(statement)
session.commit()
print(result.rowcount)