]> 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:11 +0000 (18:38 -0500)
Fixes: #7802
Change-Id: Ic5fadd369a0b63309cd9c44798ee5395efdbab2b

doc/build/orm/declarative_styles.rst

index 08c713a2330912f71fa43029892070ce5c81c7d9..b171fc31771dbe03ec8a57cba0d96d06c26edaa9 100644 (file)
@@ -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 <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/