MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / props

Method props

lib/sqlalchemy/orm/descriptor_props.py:518–541  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

516 @util.memoized_property
517 @util.preload_module("orm.properties")
518 def props(self) -> Sequence[MapperProperty[Any]]:
519 props = []
520 MappedColumn = util.preloaded.orm_properties.MappedColumn
521
522 for attr in self.attrs:
523 if isinstance(attr, str):
524 prop = self.parent.get_property(attr, _configure_mappers=False)
525 elif isinstance(attr, schema.Column):
526 prop = self.parent._columntoproperty[attr]
527 elif isinstance(attr, MappedColumn):
528 prop = self.parent._columntoproperty[attr.column]
529 elif isinstance(attr, attributes.InstrumentedAttribute):
530 prop = attr.property
531 else:
532 prop = None
533
534 if not isinstance(prop, MapperProperty):
535 raise sa_exc.ArgumentError(
536 "Composite expects Column objects or mapped "
537 f"attributes/attribute names as arguments, got: {attr!r}"
538 )
539
540 props.append(prop)
541 return props
542
543 def _column_strategy_attrs(self) -> Sequence[QueryableAttribute[Any]]:
544 return self._comparable_elements

Callers

nothing calls this directly

Calls 2

get_propertyMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected