Hi all

I have a phone table in MySQL which has morphology based on its two 
columns, "is_deleted" and "is_active"

If "is_deleted" column is 1, then we don't care about "is_active" column.
If "is_deleted" column is 0, it means that the phone exists and can be 
either active or inactive based on "is_active" column

What I have read, looks like this:



class FullPhone(Base):
    __tablename__ = 'phone'

    is_deleted = Column(TINYINT, nullable=False, server_default='0')

    __mapper_args__ = {
        'polymorphic_identity': 1,
        'polymorphic_on': is_deleted
    }


class ExistingPhone(FullPhone):
    is_active = Column(TINYINT, server_default='1')

    __mapper_args__ = {
        'polymorphic_identity': 0,
        'polymorphic_on': is_active
    }


class ActivePhone(ExistingPhone):
    __mapper_args__ = {
        'polymorphic_identity': 1,
    }


class InactivePhone(ExistingPhone):
    __mapper_args__ = {
        'polymorphic_identity': 0,
    }



When I run this code, I got a warning:

Reassigning polymorphic association for identity 0 from <Mapper at 0x1173f0278 
---> to <Mapper at 0x1173f06d8; --->: Check for duplicate use of 0 as value for 
polymorphic_identity.




It seems that:

the polymorphic identity '0' of "ExistingPhone" which is a condition on 
"is_deleted" column

is mistaken by:

the polymorphic identity '0' of "InactivePhone" which is another condition on 
"is_active" column

I appreciate if someone can help me with this structure. Thank you.

-- 
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