MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / add_class

Method add_class

lib/sqlalchemy/orm/clsregistry.py:306–322  ·  view source on GitHub ↗
(self, name: str, cls: Type[Any])

Source from the content-addressed store, hash-verified

304 return marker
305
306 def add_class(self, name: str, cls: Type[Any]) -> None:
307 if name in self.contents:
308 existing = cast(_MultipleClassMarker, self.contents[name])
309 try:
310 existing.add_item(cls)
311 except AttributeError as ae:
312 if not isinstance(existing, _MultipleClassMarker):
313 raise exc.InvalidRequestError(
314 f'name "{name}" matches both a '
315 "class name and a module name"
316 ) from ae
317 else:
318 raise
319 else:
320 self.contents[name] = _MultipleClassMarker(
321 [cls], on_remove=lambda: self._remove_item(name)
322 )
323
324 def remove_class(self, name: str, cls: Type[Any]) -> None:
325 if name in self.contents:

Callers 15

add_classFunction · 0.80
__init__Method · 0.80
__init__Method · 0.80
test_resolveMethod · 0.80
test_fragment_resolveMethod · 0.80

Calls 4

_remove_itemMethod · 0.95
castFunction · 0.85
add_itemMethod · 0.80