core.orm
========

.. py:module:: core.orm


Submodules
----------

.. toctree::
   :maxdepth: 1

   /autoapi/core/orm/abstract/index
   /autoapi/core/orm/cache/index
   /autoapi/core/orm/debug/index
   /autoapi/core/orm/func/index
   /autoapi/core/orm/mixins/index
   /autoapi/core/orm/observer/index
   /autoapi/core/orm/session_manager/index
   /autoapi/core/orm/sql/index
   /autoapi/core/orm/types/index
   /autoapi/core/orm/utils/index


Attributes
----------

.. autoapisummary::

   core.orm.Base
   core.orm.translation_hybrid


Functions
---------

.. autoapisummary::

   core.orm.find_models


Package Contents
----------------

.. py:data:: Base

.. py:data:: translation_hybrid

.. py:function:: find_models(base: type[_T], is_match: collections.abc.Callable[[type[_T]], bool]) -> collections.abc.Iterator[type[_T]]

   Finds the ORM models in the given ORM base class that match a filter.

   The filter is called with each class in the instance and it is supposed
   to return True if it matches.

   For example, find all SQLAlchemy models that use
   :class:`~onegov.core.orm.mixins.ContentMixin`::

       from onegov.core.orm.mixins import ContentMixin
       find_models(base, is_match=lambda cls: issubclass(cls, ContentMixin))