========= generated SA set-up
table_Content = Table( 'Content', meta,
    Column( 'type_id', Integer, ForeignKey( 'ContentType.db_id', ),   autoincrement= False,   index= False, ),
    Column( 'atype',   type_= String(length=100, convert_unicode=False, assert_unicode=None), ),
    Column( 'db_id',   primary_key= True,   type_= Integer, ),
    Column( 'content_FolderContent_back_id', Integer, ForeignKey( 'FolderContent.db_id',     name= 'content_FolderContent_back_id_fk',     use_alter= True, ),   autoincrement= False, ),
)
table_ContentType = Table( 'ContentType', meta,
    Column( 'db_id',   primary_key= True,   type_= Integer, ),
)
table_Country = Table( 'Country', meta,
    Column( 'db_id',   primary_key= True,   type_= Integer, ),
)
table_Event = Table( 'Event', meta,
    Column( 'country_id', Integer, ForeignKey( 'Country.db_id', ),   autoincrement= False,   index= False, ),
    Column( 'db_id', Integer, ForeignKey( 'Content.db_id', ),   autoincrement= False,   primary_key= True, ),
)
table_Folder = Table( 'Folder', meta,
    Column( 'db_id', Integer, ForeignKey( 'Content.db_id', ),   autoincrement= False,   primary_key= True, ),
)
table_FolderContent = Table( 'FolderContent', meta,
    Column( 'folder_id', Integer, ForeignKey( 'Folder.db_id', ),   autoincrement= False,   index= False, ),
    Column( 'db_id',   primary_key= True,   type_= Integer, ),
    Column( 'items_Folder_back_id', Integer, ForeignKey( 'Folder.db_id', ),   autoincrement= False, ),
)

meta.create_all()

class Content( Base):
    props = ['db_id', 'type']
class ContentType( Base):
    props = ['db_id']
class Country( Base):
    props = ['db_id']
class Event( Content):
    props = ['db_id', 'country', 'type']
class Folder( Content):
    props = ['db_id', 'type']
class FolderContent( Base):
    props = ['db_id', 'folder']

mapper_Content = mapper( Content, table_Content, 
            polymorphic_identity= 'Content', 
            polymorphic_on= table_Content.c.atype, 
            with_polymorphic= ('*', outerjoin( outerjoin( table_Content, table_Folder, table_Folder.c.db_id == table_Content.c.db_id, ), table_Event, table_Event.c.db_id == table_Content.c.db_id, )), 
            )
mapper_Content.add_property( 'type', relation( ContentType, 
            foreign_keys= table_Content.c.type_id, 
            lazy= False, 
            primaryjoin= table_Content.c.type_id == table_ContentType.c.db_id, 
            remote_side= table_ContentType.c.db_id, 
            uselist= False, 
            ) )

mapper_ContentType = mapper( ContentType, table_ContentType, 
            with_polymorphic= None, 
            )

mapper_Country = mapper( Country, table_Country, 
            with_polymorphic= None, 
            )

mapper_Event = mapper( Event, table_Event, 
            inherit_condition= table_Event.c.db_id == table_Content.c.db_id, 
            inherits= mapper_Content, 
            polymorphic_identity= 'Event', 
            with_polymorphic= None, 
            )
mapper_Event.add_property( 'country', relation( Country, 
            foreign_keys= table_Event.c.country_id, 
            lazy= False, 
            primaryjoin= table_Event.c.country_id == table_Country.c.db_id, 
            remote_side= table_Country.c.db_id, 
            uselist= False, 
            ) )

mapper_Folder = mapper( Folder, table_Folder, 
            inherit_condition= table_Folder.c.db_id == table_Content.c.db_id, 
            inherits= mapper_Content, 
            polymorphic_identity= 'Folder', 
            with_polymorphic= None, 
            )
mapper_Folder.add_property( 'items', relation( FolderContent, 
            collection_class= None, 
            lazy= True, 
            primaryjoin= table_FolderContent.c.items_Folder_back_id == table_Folder.c.db_id, 
            remote_side= table_FolderContent.c.items_Folder_back_id, 
            uselist= True, 
            ) )

mapper_FolderContent = mapper( FolderContent, table_FolderContent, 
            with_polymorphic= None, 
            )
mapper_FolderContent.add_property( 'folder', relation( Folder, 
            foreign_keys= table_FolderContent.c.folder_id, 
            lazy= False, 
            primaryjoin= table_FolderContent.c.folder_id == table_Folder.c.db_id, 
            remote_side= table_Folder.c.db_id, 
            uselist= False, 
            ) )
mapper_FolderContent.add_property( 'content', relation( Content, 
            collection_class= None, 
            lazy= True, 
            primaryjoin= table_Content.c.content_FolderContent_back_id == table_FolderContent.c.db_id, 
            remote_side= table_Content.c.content_FolderContent_back_id, 
            uselist= True, 
            ) )


mapper_Content1 = mapper( Content, table_Content.select( table_Content.c.atype == 'Content', ).alias( 'bz4Content' ), 
            non_primary= True, 
            )


psub_Content = ( table_Content.c.atype != 'Content' )

========= eo generated SA set-up
