- small fix to eager loading to better work with eager loads
to polymorphic mappers that are using a straight "outerjoin"
clause
+ - fix to the "column_prefix" flag so that the mapper does not
+ trip over synonyms (and others) that are named after the column's actual
+ "key" (since, column_prefix means "dont use the key").
- sql
- fixed grouping of compound selects to give correct results. will break
on sqlite in some cases, but those cases were producing incorrect
self.columns[column.key] = self.select_table.corresponding_column(column, keys_ok=True, raiseerr=True)
column_key = (self.column_prefix or '') + column.key
- prop = self.__props.get(column.key, None)
+ prop = self.__props.get(column_key, None)
if prop is None:
prop = ColumnProperty(column)
self.__props[column_key] = prop
assert str(e) == "Invalid cascade option 'fake'"
def testcolumnprefix(self):
- mapper(User, users, column_prefix='_')
+ mapper(User, users, column_prefix='_', properties={
+ 'user_name':synonym('_user_name')
+ })
s = create_session()
u = s.get(User, 7)
assert u._user_name=='jack'
assert u._user_id ==7
assert not hasattr(u, 'user_name')
+ u2 = s.query(User).filter_by(user_name='jack').one()
+ assert u is u2
def testrefresh(self):
mapper(User, users, properties={'addresses':relation(mapper(Address, addresses))})