From: Mike Bayer Date: Tue, 8 Mar 2022 23:38:11 +0000 (-0500) Subject: add note about slots=True for attrs X-Git-Tag: rel_2_0_0b1~437 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e790b11460ffaf8cc68b309ad47fe0e314b2c67f;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git add note about slots=True for attrs Fixes: #7802 Change-Id: Ic5fadd369a0b63309cd9c44798ee5395efdbab2b --- diff --git a/doc/build/orm/declarative_styles.rst b/doc/build/orm/declarative_styles.rst index 08c713a233..b171fc3177 100644 --- a/doc/build/orm/declarative_styles.rst +++ b/doc/build/orm/declarative_styles.rst @@ -478,5 +478,12 @@ A mapping using ``@attr.s``, in conjunction with imperative table:: with the :meth:`_orm.registry.map_imperatively` function. See the section :ref:`orm_imperative_dataclasses` for a similar example. +.. note:: The ``attrs`` ``slots=True`` option, which enables ``__slots__`` on + a mapped class, cannot be used with SQLAlchemy mappings without fully + implementing alternative + :ref:`attribute instrumentation `, as mapped + classes normally rely upon direct access to ``__dict__`` for state storage. + Behavior is undefined when this option is present. + .. _dataclasses: https://docs.python.org/3/library/dataclasses.html .. _attrs: https://pypi.org/project/attrs/