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

Méthode sqlalchemy.orm.MapperEvents.before_configured

Signature de la méthode before_configured

def before_configured(self) 

Description

before_configured.__doc__

Called before a series of mappers have been configured.

.. container:: event_signatures

     Example argument forms::

        from sqlalchemy import event


        @event.listens_for(SomeClass, 'before_configured')
        def receive_before_configured():
            "listen for the 'before_configured' event"

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


The :meth:`.MapperEvents.before_configured` event is invoked
each time the :func:`_orm.configure_mappers` function is
invoked, before the function has done any of its work.
:func:`_orm.configure_mappers` is typically invoked
automatically as mappings are first used, as well as each time
new mappers have been made available and new mapper use is
detected.

This event can **only** be applied to the :class:`_orm.Mapper` class
or :func:`.mapper` function, and not to individual mappings or
mapped classes.  It is only invoked for all mappings as a whole::

    from sqlalchemy.orm import mapper

    @event.listens_for(mapper, "before_configured")
    def go():
        # ...

Contrast this event to :meth:`.MapperEvents.after_configured`,
which is invoked after the series of mappers has been configured,
as well as :meth:`.MapperEvents.before_mapper_configured`
and :meth:`.MapperEvents.mapper_configured`, which are both invoked
on a per-mapper basis.

Theoretically this event is called once per
application, but is actually called any time new mappers
are to be affected by a :func:`_orm.configure_mappers`
call.   If new mappings are constructed after existing ones have
already been used, this event will likely be called again.  To ensure
that a particular event is only called once and no further, the
``once=True`` argument (new in 0.9.4) can be applied::

    from sqlalchemy.orm import mapper

    @event.listens_for(mapper, "before_configured", once=True)
    def go():
        # ...


.. versionadded:: 0.9.3


.. seealso::

    :meth:`.MapperEvents.before_mapper_configured`

    :meth:`.MapperEvents.mapper_configured`

    :meth:`.MapperEvents.after_configured`