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 « AttributeEvents »

Méthode sqlalchemy.orm.AttributeEvents.init_collection

Signature de la méthode init_collection

def init_collection(self, target, collection, collection_adapter) 

Description

init_collection.__doc__

Receive a 'collection init' event.

.. container:: event_signatures

     Example argument forms::

        from sqlalchemy import event


        @event.listens_for(SomeClass.some_attribute, 'init_collection')
        def receive_init_collection(target, collection, collection_adapter):
            "listen for the 'init_collection' event"

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


This event is triggered for a collection-based attribute, when
the initial "empty collection" is first generated for a blank
attribute, as well as for when the collection is replaced with
a new one, such as via a set event.

E.g., given that ``User.addresses`` is a relationship-based
collection, the event is triggered here::

    u1 = User()
    u1.addresses.append(a1)  #  <- new collection

and also during replace operations::

    u1.addresses = [a2, a3]  #  <- new collection

:param target: the object instance receiving the event.
 If the listener is registered with ``raw=True``, this will
 be the :class:`.InstanceState` object.
:param collection: the new collection.  This will always be generated
 from what was specified as
 :paramref:`_orm.relationship.collection_class`, and will always
 be empty.
:param collection_adapter: the :class:`.CollectionAdapter` that will
 mediate internal access to the collection.

.. versionadded:: 1.0.0 :meth:`.AttributeEvents.init_collection`
   and :meth:`.AttributeEvents.dispose_collection` events.

.. seealso::

    :class:`.AttributeEvents` - background on listener options such
    as propagation to subclasses.

    :meth:`.AttributeEvents.init_scalar` - "scalar" version of this
    event.