def __setup_columns(self): ''' Find all the columns attached to this model and assign storage. ''' column_id_util = ColumnIdentifierUtil(self) for prop_name in dir(self): try: prop = getattr(self, prop_name) except AttributeError: # property has not been initialized yet, ignore and continue continue if Column.is_column(prop): column = Column.get_column(prop) col_name = prop_name col_storage_id = column_id_util.get_column_identifier(column) storage = self.service_locator.get_storage(col_storage_id) self.columns[col_name] = BoundColumnCall(column, storage, self) elif SubModel.is_submodel(prop): submodel_name = prop_name submodel = prop self.submodels[submodel_name] = SubModelBinding(submodel, self)
def testIsAutoCallColumn(self): col = Column(lambda x: x, True) self.assertTrue(Column.is_column(col)) self.assertTrue(Column.is_auto_call(col))
def testIsColumn(self): col = Column(lambda x: x, False) self.assertTrue(Column.is_column(col)) self.assertFalse(Column.is_auto_call(col))