> On Oct 24, 2014, at 9:06 PM, Jonathan Vanasco <[email protected]> wrote: > > does anyone know if its possible to implement some form of eagerloading or > class attribute where only the presence (or first record, or count) of > relations are emitted? > > I have a few queries where i'm loading 100+ rows, but I only need to know > whether or not any entries for the relationship exists. > > the best thing I've been able to come up with, is memoizing the count or a > bool onto an object as a property:
the “count of objects” column property? http://docs.sqlalchemy.org/en/rel_0_9/orm/mapper_config.html#using-column-property <http://docs.sqlalchemy.org/en/rel_0_9/orm/mapper_config.html#using-column-property> > > @property > def count_RELATION(self): > if self._count_RELATION is None: > _sess = sa.inspect(self).session > self._count_RELATION = > _sess.query(self.__class__).with_parent(self, "RELATION").count() > return self._count_RELATION > _count_RELATION = None > > @property > def has_RELATION(self): > if self.has_RELATION is None: > _sess = sa.inspect(self).session > self.has_RELATION = True if > _sess.query(self.__class__).with_parent(self, "RELATION").first() else False > return self.has_RELATION > has_RELATION = None > > -- > 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 [email protected] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at http://groups.google.com/group/sqlalchemy > <http://groups.google.com/group/sqlalchemy>. > For more options, visit https://groups.google.com/d/optout > <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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.
