There is a lot of them. But I think it have to be simple. Like a normal query. >From the docs I understand how to cache query with FromCache, how to cache relationship with RelationshipCache, but I don't find how to cache polymorphic relationships.
On Tuesday, April 15, 2014 5:56:36 PM UTC+4, Gunnlaugur Briem wrote: > > On Tue, Apr 15, 2014 at 1:11 PM, Pavel Aborilov > <abor...@gmail.com<javascript:> > > wrote: > >> but I dont know on the time of query what the type of object it will be. >> > > Then you can use session.query(Person).with_polymorphic('*') to mean > joining to the tables of all mapped subclasses. (Be aware that this can > become problematic if there is a lot of them.) > > Cheers, > > Gulli > > > >> >> On Tuesday, April 15, 2014 5:06:48 PM UTC+4, Gunnlaugur Briem wrote: >> >>> Hi Pavel, >>> >>> You want: s.query(Person).with_polymorphic(Man).get(51) >>> >>> Cheers, >>> >>> Gulli >>> >>> >>> On Tue, Apr 15, 2014 at 12:59 PM, Pavel Aborilov <abor...@gmail.com>wrote: >>> >>>> Hello! >>>> How can I cache query like this: >>>> session.query(Person).get(51) >>>> >>>> where 51 is id of Man >>>> >>>> I can't access attribute age of Man without SELECT. >>>> >>>> Models: >>>> >>>> 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'} >>>> >>>> -- >>>> 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+...@googlegroups.com. >>>> To post to this group, send email to sqlal...@googlegroups.com. >>>> >>>> Visit this group at http://groups.google.com/group/sqlalchemy. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> 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+...@googlegroups.com <javascript:>. >> To post to this group, send email to sqlal...@googlegroups.com<javascript:> >> . >> Visit this group at http://groups.google.com/group/sqlalchemy. >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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 http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.