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_mapper_configured

Signature de la méthode before_mapper_configured

def before_mapper_configured(self, mapper, class_) 

Description

before_mapper_configured.__doc__

Called right before a specific mapper is to be configured.

.. container:: event_signatures

     Example argument forms::

        from sqlalchemy import event


        @event.listens_for(SomeClass, 'before_mapper_configured')
        def receive_before_mapper_configured(mapper, class_):
            "listen for the 'before_mapper_configured' event"

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


This event is intended to allow a specific mapper to be skipped during
the configure step, by returning the :attr:`.orm.interfaces.EXT_SKIP`
symbol which indicates to the :func:`.configure_mappers` call that this
particular mapper (or hierarchy of mappers, if ``propagate=True`` is
used) should be skipped in the current configuration run.  When one or
more mappers are skipped, the he "new mappers" flag will remain set,
meaning the :func:`.configure_mappers` function will continue to be
called when mappers are used, to continue to try to configure all
available mappers.

In comparison to the other configure-level events,
:meth:`.MapperEvents.before_configured`,
:meth:`.MapperEvents.after_configured`, and
:meth:`.MapperEvents.mapper_configured`, the
:meth;`.MapperEvents.before_mapper_configured` event provides for a
meaningful return value when it is registered with the ``retval=True``
parameter.

.. versionadded:: 1.3

e.g.::

    from sqlalchemy.orm import EXT_SKIP

    Base = declarative_base()

    DontConfigureBase = declarative_base()

    @event.listens_for(
        DontConfigureBase,
        "before_mapper_configured", retval=True, propagate=True)
    def dont_configure(mapper, cls):
        return EXT_SKIP


.. seealso::

    :meth:`.MapperEvents.before_configured`

    :meth:`.MapperEvents.after_configured`

    :meth:`.MapperEvents.mapper_configured`