]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
add note about slots=True for attrs
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 8 Mar 2022 23:38:11 +0000 (18:38 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 8 Mar 2022 23:38:39 +0000 (18:38 -0500)
Fixes: #7802
Change-Id: Ic5fadd369a0b63309cd9c44798ee5395efdbab2b
(cherry picked from commit e790b11460ffaf8cc68b309ad47fe0e314b2c67f)

doc/build/orm/declarative_styles.rst

index 2b4178a856f3b1997da550cde92a0cc628e632d5..284e5a1e61b9b9e37b50bf4f4b25bc4be90fe18a 100644 (file)
@@ -480,5 +480,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 <examples_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/