A dictionary type that implements :class:`.Mutable`. The :class:`.MutableDict` object implements a dictionary that will emit change events to the underlying mapping when the contents of the dictionary are altered, including when values are added or removed. Note that :class:`.MutableDict` does **not** apply mutable tracking to the *values themselves* inside the dictionary. Therefore it is not a sufficient solution for the use case of tracking deep changes to a *recursive* dictionary structure, such as a JSON structure. To support this use case, build a subclass of :class:`.MutableDict` that provides appropriate coercion to the values placed in the dictionary so that they too are "mutable", and emit events up to their parent structure. .. seealso:: :class:`.MutableList` :class:`.MutableSet`
Class Method | coerce |
Convert plain dictionary to instance of this class. |
Method | __delitem__ |
Detect dictionary del events and emit change events. |
Method | __getstate__ |
Undocumented |
Method | __setitem__ |
Detect dictionary set events and emit change events. |
Method | __setstate__ |
Undocumented |
Method | clear |
Undocumented |
Method | pop |
Undocumented |
Method | popitem |
Undocumented |
Method | setdefault |
Undocumented |
Method | update |
Undocumented |
Inherited from Mutable
:
Class Method | as |
Associate a SQL type with this mutable Python type. |
Class Method | associate |
Associate this wrapper with all future mapped columns of the given type. |
Class Method | associate |
Establish this type as a mutation listener for the given mapped descriptor. |
Method | changed |
Subclasses should call this method whenever change events occur. |
Inherited from MutableBase
(via Mutable
):
Class Method | _get |
Given a descriptor attribute, return a ``set()`` of the attribute keys which indicate a change in the state of this attribute. |
Class Method | _listen |
Establish this type as a mutation listener for the given mapped descriptor. |
Property | _parents |
Dictionary of parent object's :class:`.InstanceState`->attribute name on the parent. |