Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Person(Base):
- __tablename__ = 'person'
- id = Column(Integer, primary_key=True)
- name = Column(String(100), nullable=False)
- type = Column(String(50))
- __mapper_args__ = {
- 'polymorphic_identity': 'object',
- 'polymorphic_on': type
- }
- class Man(Person):
- __tablename__ = 'man'
- id = Column(Integer, ForeignKey('person.id'), primary_key=True)
- age = Column(String(100), nullable=False)
- __mapper_args__ = {'polymorphic_identity': 'man'}
- class Config(Base):
- __tablename__ = "config"
- id = Column(Integer, primary_key=True)
- person = Column(Integer, ForeignKey('person.id'))
- address = Column(String)
- person_ref = relationship(Person)
- man = session.query(Config).options(joinedload(Config.person_ref)).filter(Person.type == 'man').first()
- print man.age
- config = session.query(Config).options(FromCache("default")).first()
- people = session.query(Person).options(FromCache("default")).with_polymorphic('*').get(config.person)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement