- Fixed bug where a column with a SQL or server side default

that was excluded from a mapping with include_properties
or exclude_properties would result in UnmappedColumnError.
[ticket:1995]
This commit is contained in:
Mike Bayer
2011-02-09 15:14:54 -05:00
parent 6f16b8db6f
commit 34f26ee255
3 changed files with 22 additions and 1 deletions
+5
View File
@@ -218,6 +218,11 @@ CHANGES
from that target. Also emits the correct WHERE criterion
when using single table inheritance. [ticket:2038]
- Fixed bug where a column with a SQL or server side default
that was excluded from a mapping with include_properties
or exclude_properties would result in UnmappedColumnError.
[ticket:1995]
- sql
- Column.copy(), as used in table.tometadata(), copies the
'doc' attribute. [ticket:2028]
+2 -1
View File
@@ -1937,7 +1937,8 @@ class Mapper(object):
if postfetch_cols:
state.expire_attributes(state.dict,
[self._columntoproperty[c].key
for c in postfetch_cols]
for c in postfetch_cols if c in
self._columntoproperty]
)
# synchronize newly inserted ids from one table to the next
+15
View File
@@ -533,6 +533,21 @@ class MapperTest(_fixtures.FixtureTest):
Foo, inherits=Person, polymorphic_identity='foo',
exclude_properties=('type', ),
)
@testing.resolve_artifact_names
@testing.provide_metadata
def test_prop_filters_defaults(self):
t = Table('t', metadata,
Column('id', Integer(), primary_key=True, test_needs_autoincrement=True),
Column('x', Integer(), nullable=False, server_default='0')
)
t.create()
class A(object):
pass
mapper(A, t, include_properties=['id'])
s = Session()
s.add(A())
s.commit()
@testing.resolve_artifact_names
def test_mapping_to_join_raises(self):