практично. Есть лучше способ?
сделать выборку при удалении, а не отдельно
Вместо first или all после фильтрации можно написать delete .delete(synchronize_session=False) Пример из доки: session.query(User).filter(User.name == "squidward").\ delete(synchronize_session="fetch") sess.query(User).filter(User.age == 25).\ delete(synchronize_session=False) И как бы это могло быть в ответе: DayData.query.filter(DayData.date.between('2020-09-27T16:00:00.000Z', '2020-09-28T11:00:00.000Z')).delete(synchronize_session=False)
Или вручную составить запрос (сложнее), возможно будет лучше / быстрее при большом количестве данных: from sqlalchemy import delete stmt = delete(User).where(User.name == "squidward").execution_options(synchronize_session="fetch") session.execute(stmt)
Обсуждают сегодня