mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-30 04:24:38 -04:00
- 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:
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user