(
cls, classname: Any, bases: Any, dict_: Any, **kw: Any
)
| 176 | registry: RegistryType |
| 177 | |
| 178 | def __init__( |
| 179 | cls, classname: Any, bases: Any, dict_: Any, **kw: Any |
| 180 | ) -> None: |
| 181 | # use cls.__dict__, which can be modified by an |
| 182 | # __init_subclass__() method (#7900) |
| 183 | dict_ = cls.__dict__ |
| 184 | |
| 185 | # early-consume registry from the initial declarative base, |
| 186 | # assign privately to not conflict with subclass attributes named |
| 187 | # "registry" |
| 188 | reg = getattr(cls, "_sa_registry", None) |
| 189 | if reg is None: |
| 190 | reg = dict_.get("registry", None) |
| 191 | if not isinstance(reg, registry): |
| 192 | raise exc.InvalidRequestError( |
| 193 | "Declarative base class has no 'registry' attribute, " |
| 194 | "or registry is not a sqlalchemy.orm.registry() object" |
| 195 | ) |
| 196 | else: |
| 197 | cls._sa_registry = reg |
| 198 | |
| 199 | if not cls.__dict__.get("__abstract__", False): |
| 200 | _as_declarative(reg, cls, dict_) |
| 201 | type.__init__(cls, classname, bases, dict_) |
| 202 | |
| 203 | |
| 204 | def synonym_for( |
nothing calls this directly
no test coverage detected