Suppose I am using single table polymorphic inheritance like the docs Employee/Manager/Engineer example. I have a relationship that I want to have a different cascade or loading strategy for, depending on the mapper. Can I inherit from the base mapper and override the property, like this:
employee_mapper = mapper(Employee, employees_table, \ polymorphic_on=employees_table.c.type, polymorphic_identity='employee', properties={'customer':relationship(Customer, lazy=False, cascade='save-update,refresh-expire,merge')}) manager_mapper = mapper(Manager, inherits=employee_mapper, polymorphic_identity='manager', properties={'customer':relationship(Customer, lazy=True, cascade='save-update,refresh-expire')}) engineer_mapper = mapper(Engineer, inherits=employee_mapper, polymorphic_identity='engineer', properties={'customer':relationship(Customer, lazy=True, cascade='save-update,refresh-expire')}) Here, the 'customer' relationship only joined loads and merges for Employee, not Engineer nor Manager. Is this supported? -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To view this discussion on the web visit https://groups.google.com/d/msg/sqlalchemy/-/Oz-YnA_dInwJ. To post to this group, send email to sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.