r"""declare a new ORM-mapped :class:`_schema.Column` construct for use within :ref:`Declarative Table <orm_declarative_table>` configuration. The :func:`_orm.mapped_column` function provides an ORM-aware and Python-typing-compatible construct which is used with :ref:`declarative
(
__name_pos: Optional[
Union[str, _TypeEngineArgument[Any], SchemaEventTarget]
] = None,
__type_pos: Optional[
Union[_TypeEngineArgument[Any], SchemaEventTarget]
] = None,
/,
*args: SchemaEventTarget,
init: Union[_NoArg, bool] = _NoArg.NO_ARG,
repr: Union[_NoArg, bool] = _NoArg.NO_ARG, # noqa: A002
default: Optional[Any] = _NoArg.NO_ARG,
default_factory: Union[_NoArg, Callable[[], _T]] = _NoArg.NO_ARG,
compare: Union[_NoArg, bool] = _NoArg.NO_ARG,
kw_only: Union[_NoArg, bool] = _NoArg.NO_ARG,
hash: Union[_NoArg, bool, None] = _NoArg.NO_ARG, # noqa: A002
nullable: Optional[
Union[bool, Literal[SchemaConst.NULL_UNSPECIFIED]]
] = SchemaConst.NULL_UNSPECIFIED,
primary_key: Optional[bool] = False,
deferred: Union[_NoArg, bool] = _NoArg.NO_ARG,
deferred_group: Optional[str] = None,
deferred_raiseload: Optional[bool] = None,
use_existing_column: bool = False,
name: Optional[str] = None,
type_: Optional[_TypeEngineArgument[Any]] = None,
autoincrement: _AutoIncrementType = "auto",
doc: Optional[str] = None,
key: Optional[str] = None,
index: Optional[bool] = None,
unique: Optional[bool] = None,
info: Optional[_InfoType] = None,
onupdate: Optional[Any] = None,
insert_default: Optional[Any] = _NoArg.NO_ARG,
server_default: Optional[_ServerDefaultArgument] = None,
server_onupdate: Optional[_ServerOnUpdateArgument] = None,
active_history: bool = False,
quote: Optional[bool] = None,
system: bool = False,
comment: Optional[str] = None,
sort_order: Union[_NoArg, int] = _NoArg.NO_ARG,
dataclass_metadata: Union[_NoArg, Mapping[Any, Any], None] = _NoArg.NO_ARG,
**kw: Any,
)
| 97 | |
| 98 | |
| 99 | def mapped_column( |
| 100 | __name_pos: Optional[ |
| 101 | Union[str, _TypeEngineArgument[Any], SchemaEventTarget] |
| 102 | ] = None, |
| 103 | __type_pos: Optional[ |
| 104 | Union[_TypeEngineArgument[Any], SchemaEventTarget] |
| 105 | ] = None, |
| 106 | /, |
| 107 | *args: SchemaEventTarget, |
| 108 | init: Union[_NoArg, bool] = _NoArg.NO_ARG, |
| 109 | repr: Union[_NoArg, bool] = _NoArg.NO_ARG, # noqa: A002 |
| 110 | default: Optional[Any] = _NoArg.NO_ARG, |
| 111 | default_factory: Union[_NoArg, Callable[[], _T]] = _NoArg.NO_ARG, |
| 112 | compare: Union[_NoArg, bool] = _NoArg.NO_ARG, |
| 113 | kw_only: Union[_NoArg, bool] = _NoArg.NO_ARG, |
| 114 | hash: Union[_NoArg, bool, None] = _NoArg.NO_ARG, # noqa: A002 |
| 115 | nullable: Optional[ |
| 116 | Union[bool, Literal[SchemaConst.NULL_UNSPECIFIED]] |
| 117 | ] = SchemaConst.NULL_UNSPECIFIED, |
| 118 | primary_key: Optional[bool] = False, |
| 119 | deferred: Union[_NoArg, bool] = _NoArg.NO_ARG, |
| 120 | deferred_group: Optional[str] = None, |
| 121 | deferred_raiseload: Optional[bool] = None, |
| 122 | use_existing_column: bool = False, |
| 123 | name: Optional[str] = None, |
| 124 | type_: Optional[_TypeEngineArgument[Any]] = None, |
| 125 | autoincrement: _AutoIncrementType = "auto", |
| 126 | doc: Optional[str] = None, |
| 127 | key: Optional[str] = None, |
| 128 | index: Optional[bool] = None, |
| 129 | unique: Optional[bool] = None, |
| 130 | info: Optional[_InfoType] = None, |
| 131 | onupdate: Optional[Any] = None, |
| 132 | insert_default: Optional[Any] = _NoArg.NO_ARG, |
| 133 | server_default: Optional[_ServerDefaultArgument] = None, |
| 134 | server_onupdate: Optional[_ServerOnUpdateArgument] = None, |
| 135 | active_history: bool = False, |
| 136 | quote: Optional[bool] = None, |
| 137 | system: bool = False, |
| 138 | comment: Optional[str] = None, |
| 139 | sort_order: Union[_NoArg, int] = _NoArg.NO_ARG, |
| 140 | dataclass_metadata: Union[_NoArg, Mapping[Any, Any], None] = _NoArg.NO_ARG, |
| 141 | **kw: Any, |
| 142 | ) -> MappedColumn[Any]: |
| 143 | r"""declare a new ORM-mapped :class:`_schema.Column` construct |
| 144 | for use within :ref:`Declarative Table <orm_declarative_table>` |
| 145 | configuration. |
| 146 | |
| 147 | The :func:`_orm.mapped_column` function provides an ORM-aware and |
| 148 | Python-typing-compatible construct which is used with |
| 149 | :ref:`declarative <orm_declarative_mapping>` mappings to indicate an |
| 150 | attribute that's mapped to a Core :class:`_schema.Column` object. It |
| 151 | provides the equivalent feature as mapping an attribute to a |
| 152 | :class:`_schema.Column` object directly when using Declarative, |
| 153 | specifically when using :ref:`Declarative Table <orm_declarative_table>` |
| 154 | configuration. |
| 155 | |
| 156 | .. versionadded:: 2.0 |