Отключить объект из сеанса

Можно ли отвязать объект из сеанса SQLAlchemy?

Я использовал для deepcopy его, но поскольку этот кажется невозможен при использовании прокси-серверов связи, я ищу другое решение для удаления объекта из чтобы добавить его к другому.

Ответы

Ответ 1

"Удаление" удаляет объект из сеанса, пересылая постоянные экземпляры в состояние "отсоединение" и ожидающие экземпляры в состояние переходного процесса:

session.expunge(obj1)

ОБНОВЛЕНИЕ: отдельный объект может быть присоединен к тому же или другому сеансу с помощью

session2.add(obj1)

или слияние

session2.merge(obj1)

С помощью merge() данный экземпляр не помещается внутри сеанса и может быть связан с другим сеансом или отключен. merge() очень полезна для принятия состояния любой структуры объекта без учета его истоков или текущих ассоциаций сеансов и размещения этого состояния в сеансе.