On 06/20/2017 02:08 PM, yoch.me...@gmail.com wrote:
Hi,

I wish to have a two-levels inheritance, but I don't know how to proceed.
The docs says that "only one discriminator column or SQL expression may be configured for the entire inheritance hierarchy".

I tried with this example (mixing joined and single inheritances) :

|
classPerson(Base):
     __tablename__ ='person'

     id =Column(Integer,primary_key=True)
     type =Column(String(50),nullable=False)
     name =Column(String(50))

     __mapper_args__ ={
'polymorphic_identity':'person',
'polymorphic_on':type
}

classManager(Person):
     __tablename__ ='manager'

     id =Column(ForeignKey('person.id'),primary_key=True)
     manager_name =Column(String(30))

     __mapper_args__ ={
'polymorphic_identity':'manager',
}

classEngineerBase(Person):
     __tablename__ ='engineer'

     id =Column(ForeignKey('person.id'),primary_key=True)
     engineer_name =Column(String(30))

classEngineerType1(EngineerBase):

     __mapper_args__ ={
'polymorphic_identity':'engineer_t1',
}

classEngineerType2(EngineerBase):

     __mapper_args__ ={
'polymorphic_identity':'engineer_t2',
}
|

It seems to work, but it this correct ?

it's correct, you only have one "polymorphic_on" set up, and that's what that means.



--
SQLAlchemy -
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description.
---
You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com <mailto:sqlalchemy+unsubscr...@googlegroups.com>. To post to this group, send email to sqlalchemy@googlegroups.com <mailto:sqlalchemy@googlegroups.com>.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

--
SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- You received this message because you are subscribed to the Google Groups "sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to