diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-09-14 17:46:54 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-09-14 17:46:54 -0400 |
| commit | 9d7158a2c3869ad7a1ab07d3a41e831f6806a68c (patch) | |
| tree | 2464edb66a6bea6fa5a2956dbcd179772c999de6 /examples | |
| parent | 904466a29320844ccc164bad4699198d3916159d (diff) | |
| parent | 46196ea723484f354ac17204ccd489004baaac95 (diff) | |
| download | sqlalchemy-9d7158a2c3869ad7a1ab07d3a41e831f6806a68c.tar.gz | |
merge tip
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/versioning/history_meta.py | 6 | ||||
| -rw-r--r-- | examples/versioning/test_versioning.py | 19 |
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.""" |
