from sqlobject import * from sqlobject.tests.dbtest import * from sqlobject.inheritance import InheritableSQLObject class InheritedPersonIndexGet(InheritableSQLObject): first_name = StringCol(notNone=True) last_name = StringCol(notNone=True) age = IntCol() pk = DatabaseIndex(first_name, last_name, unique=True) class InheritedEmployeeIndexGet(InheritedPersonIndexGet): security_number = IntCol() experience = IntCol() sec_index = DatabaseIndex(security_number, unique=True) class InheritedSalesManIndexGet(InheritedEmployeeIndexGet): _inheritable = False skill = IntCol() def test_index_get_1(): setupClass([InheritedPersonIndexGet, InheritedEmployeeIndexGet, InheritedSalesManIndexGet]) InheritedSalesManIndexGet(first_name='Michael', last_name='Pallin', age=65, security_number=2304, experience=2, skill=10) InheritedEmployeeIndexGet(first_name='Eric', last_name='Idle', age=63, security_number=3402, experience=9) InheritedPersonIndexGet(first_name='Terry', last_name='Guilliam', age=64) InheritedPersonIndexGet.pk.get('Michael', 'Pallin') InheritedEmployeeIndexGet.pk.get('Michael', 'Pallin') InheritedSalesManIndexGet.pk.get('Michael', 'Pallin') InheritedPersonIndexGet.pk.get('Eric', 'Idle') InheritedEmployeeIndexGet.pk.get('Eric', 'Idle') InheritedPersonIndexGet.pk.get(first_name='Terry', last_name='Guilliam') InheritedEmployeeIndexGet.sec_index.get(2304) InheritedEmployeeIndexGet.sec_index.get(3402) InheritedSalesManIndexGet.sec_index.get(2304) InheritedSalesManIndexGet.sec_index.get(3402)