.. _polymorphism: ============ Polymorphism ============ There are different methods to implement `Polymorphism `__. in a relational database. To use Martin Frowler's classification: - `Single Table Inheritance `__: corresponds to Django's single-table model inheritance. - `Class Table Inheritance `__ corresponds to Django's multi-table model inheritance and Lino adds some tools for using it: :doc:`/dev/mti`. - `Concrete Table Inheritance `__ Lino also provides methods to make the implementation choice itself transparent (we are working on it: :srcref:`docs/tickets/72`) Polymorphism without using MTI: - See :mod:`lino.modlib.partners` for example. - :meth:`lino.core.model.Model.get_typed_instance`