Advertisement
Guest User

Untitled

a guest
Apr 17th, 2014
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. class Person(Base):
  2. __tablename__ = 'person'
  3. id = Column(Integer, primary_key=True)
  4. name = Column(String(100), nullable=False)
  5. type = Column(String(50))
  6. __mapper_args__ = {
  7. 'polymorphic_identity': 'object',
  8. 'polymorphic_on': type
  9. }
  10.  
  11. class Man(Person):
  12. __tablename__ = 'man'
  13. id = Column(Integer, ForeignKey('person.id'), primary_key=True)
  14. age = Column(String(100), nullable=False)
  15. __mapper_args__ = {'polymorphic_identity': 'man'}
  16.  
  17. class Config(Base):
  18. __tablename__ = "config"
  19. id = Column(Integer, primary_key=True)
  20. person = Column(Integer, ForeignKey('person.id'))
  21. address = Column(String)
  22. person_ref = relationship(Person)
  23.  
  24. man = session.query(Config).options(joinedload(Config.person_ref)).filter(Person.type == 'man').first()
  25. print man.age
  26.  
  27. config = session.query(Config).options(FromCache("default")).first()
  28. people = session.query(Person).options(FromCache("default")).with_polymorphic('*').get(config.person)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement