(self, enabled_via_opt, polymorphic_from)
| 3778 | return retval |
| 3779 | |
| 3780 | def _should_selectin_load(self, enabled_via_opt, polymorphic_from): |
| 3781 | if not enabled_via_opt: |
| 3782 | # common case, takes place for all polymorphic loads |
| 3783 | mapper = polymorphic_from |
| 3784 | for m in self._iterate_to_target_viawpoly(mapper): |
| 3785 | if m.polymorphic_load == "selectin": |
| 3786 | return m |
| 3787 | else: |
| 3788 | # uncommon case, selectin load options were used |
| 3789 | enabled_via_opt = set(enabled_via_opt) |
| 3790 | enabled_via_opt_mappers = {e.mapper: e for e in enabled_via_opt} |
| 3791 | for entity in enabled_via_opt.union([polymorphic_from]): |
| 3792 | mapper = entity.mapper |
| 3793 | for m in self._iterate_to_target_viawpoly(mapper): |
| 3794 | if ( |
| 3795 | m.polymorphic_load == "selectin" |
| 3796 | or m in enabled_via_opt_mappers |
| 3797 | ): |
| 3798 | return enabled_via_opt_mappers.get(m, m) |
| 3799 | |
| 3800 | return None |
| 3801 | |
| 3802 | @util.preload_module("sqlalchemy.orm.strategy_options") |
| 3803 | def _subclass_load_via_in(self, entity, polymorphic_from): |
no test coverage detected