Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Classe « SessionEvents »

Méthode sqlalchemy.orm.SessionEvents.detached_to_persistent

Signature de la méthode detached_to_persistent

def detached_to_persistent(self, session, instance) 

Description

detached_to_persistent.__doc__

Intercept the "detached to persistent" transition for a specific object.

.. container:: event_signatures

     Example argument forms::

        from sqlalchemy import event


        @event.listens_for(SomeSessionOrFactory, 'detached_to_persistent')
        def receive_detached_to_persistent(session, instance):
            "listen for the 'detached_to_persistent' event"

            # ... (event handling logic) ...


This event is a specialization of the
:meth:`.SessionEvents.after_attach` event which is only invoked
for this specific transition.  It is invoked typically during the
:meth:`.Session.add` call, as well as during the
:meth:`.Session.delete` call if the object was not previously
associated with the
:class:`.Session` (note that an object marked as "deleted" remains
in the "persistent" state until the flush proceeds).

.. note::

    If the object becomes persistent as part of a call to
    :meth:`.Session.delete`, the object is **not** yet marked as
    deleted when this event is called.  To detect deleted objects,
    check the ``deleted`` flag sent to the
    :meth:`.SessionEvents.persistent_to_detached` to event after the
    flush proceeds, or check the :attr:`.Session.deleted` collection
    within the :meth:`.SessionEvents.before_flush` event if deleted
    objects need to be intercepted before the flush.

:param session: target :class:`.Session`

:param instance: the ORM-mapped instance being operated upon.

.. versionadded:: 1.1

.. seealso::

    :ref:`session_lifecycle_events`