Allow atomic update for the entire DictField

This commit is contained in:
Bob Cribbs
2014-08-19 21:29:13 +03:00
parent af6699098f
commit 0462f18680
3 changed files with 30 additions and 0 deletions

View File

@@ -826,6 +826,10 @@ class DictField(ComplexBaseField):
return StringField().prepare_query_value(op, value)
if hasattr(self.field, 'field'):
if op in ('set', 'unset') and isinstance(value, dict):
return dict(
(k, self.field.prepare_query_value(op, v))
for k, v in value.items())
return self.field.prepare_query_value(op, value)
return super(DictField, self).prepare_query_value(op, value)