class documentation

class MutableDict(Mutable, dict):

View In Hierarchy

A dictionary type that implements .Mutable.

The .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 .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 .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.

See Also

.MutableList

.MutableSet

Class Method coerce Convert plain dictionary to instance of this class.
Method clear Undocumented
Method pop Undocumented
Method popitem Undocumented
Method setdefault Undocumented
Method update Undocumented
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

Inherited from Mutable:

Class Method as​_mutable Associate a SQL type with this mutable Python type.
Class Method associate​_with Associate this wrapper with all future mapped columns of the given type.
Class Method associate​_with​_attribute 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​_listen​_keys Given a descriptor attribute, return a set() of the attribute keys which indicate a change in the state of this attribute.
Class Method ​_listen​_on​_attribute Establish this type as a mutation listener for the given mapped descriptor.
Property ​_parents Dictionary of parent object's .InstanceState->attribute name on the parent.
@classmethod
def coerce(cls, key, value):
Convert plain dictionary to instance of this class.
def clear(self):

Undocumented

def pop(self, *arg):

Undocumented

def popitem(self):

Undocumented

def setdefault(self, key, value):

Undocumented

def update(self, *a, **kw):

Undocumented

def __delitem__(self, key):
Detect dictionary del events and emit change events.
def __getstate__(self):

Undocumented

def __setitem__(self, key, value):
Detect dictionary set events and emit change events.
def __setstate__(self, state):

Undocumented