summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/orm/attributes.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/sqlalchemy/orm/attributes.py b/lib/sqlalchemy/orm/attributes.py
index dee0ec9c7..5ac8ef9ee 100644
--- a/lib/sqlalchemy/orm/attributes.py
+++ b/lib/sqlalchemy/orm/attributes.py
@@ -500,10 +500,9 @@ class MutableScalarAttributeImpl(ScalarAttributeImpl):
self, state, v)
def check_mutable_modified(self, state, dict_):
- added, \
- unchanged, \
- deleted = self.get_history(state, dict_, passive=PASSIVE_NO_INITIALIZE)
- return bool(added or deleted)
+ v = dict_.get(self.key, NO_VALUE)
+ a, u, d = History.from_attribute(self, state, v)
+ return bool(a or d)
def get(self, state, dict_, passive=PASSIVE_OFF):
if self.key not in state.mutable_dict:
@@ -1291,7 +1290,7 @@ class History(tuple):
and instance_state(c) or None
for c in self.deleted],
)
-
+
@classmethod
def from_attribute(cls, attribute, state, current):
original = state.committed_state.get(attribute.key, NEVER_SET)