summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-09-14 17:46:54 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2010-09-14 17:46:54 -0400
commit9d7158a2c3869ad7a1ab07d3a41e831f6806a68c (patch)
tree2464edb66a6bea6fa5a2956dbcd179772c999de6 /examples
parent904466a29320844ccc164bad4699198d3916159d (diff)
parent46196ea723484f354ac17204ccd489004baaac95 (diff)
downloadsqlalchemy-9d7158a2c3869ad7a1ab07d3a41e831f6806a68c.tar.gz
merge tip
Diffstat (limited to 'examples')
-rw-r--r--examples/versioning/history_meta.py6
-rw-r--r--examples/versioning/test_versioning.py19
2 files changed, 21 insertions, 4 deletions
diff --git a/examples/versioning/history_meta.py b/examples/versioning/history_meta.py
index c2b283f1a..0a631e849 100644
--- a/examples/versioning/history_meta.py
+++ b/examples/versioning/history_meta.py
@@ -123,7 +123,7 @@ def create_version(obj, session, deleted = False):
# mapped column. this will allow usage of MapperProperties
# that have a different keyname than that of the mapped column.
try:
- prop = obj_mapper._get_col_to_prop(obj_col)
+ prop = obj_mapper.get_property_by_column(obj_col)
except UnmappedColumnError:
# in the case of single table inheritance, there may be
# columns on the mapped table intended for the subclass only.
@@ -144,7 +144,9 @@ def create_version(obj, session, deleted = False):
elif u:
attr[hist_col.key] = u[0]
else:
- raise Exception("TODO: what makes us arrive here ?")
+ # if the attribute had no value.
+ attr[hist_col.key] = a[0]
+ obj_changed = True
if not obj_changed and not deleted:
return
diff --git a/examples/versioning/test_versioning.py b/examples/versioning/test_versioning.py
index 2a7a2ca66..031d7ca26 100644
--- a/examples/versioning/test_versioning.py
+++ b/examples/versioning/test_versioning.py
@@ -86,8 +86,23 @@ class TestVersioning(TestBase):
]
)
-
-
+ def test_from_null(self):
+ class SomeClass(Base, ComparableEntity):
+ __tablename__ = 'sometable'
+
+ id = Column(Integer, primary_key=True)
+ name = Column(String(50))
+
+ self.create_tables()
+ sess = Session()
+ sc = SomeClass()
+ sess.add(sc)
+ sess.commit()
+
+ sc.name = 'sc1'
+ sess.commit()
+
+ assert sc.version == 2
def test_deferred(self):
"""test versioning of unloaded, deferred columns."""