def get(self, ident): nodeclass = self._find_nodeclass() if not nodeclass: return Query.get(self, ident) active_version = Query.get(self, ident) Transaction = versioning_manager.transaction_cls if active_version is None: ver_cls = version_class(nodeclass) return (self.session.query(ver_cls).join(Transaction, ver_cls.transaction_id == Transaction.id) .join(Transaction.meta_relation) .filter_by(key=u'alias_id', value=unicode(ident)).scalar()) return active_version
def get(self, ident): nodeclass = self._find_nodeclass() if not nodeclass: return Query.get(self, ident) else: nodeclass = nodeclass[0] active_version = Query.get(self, ident) Transaction = versioning_manager.transaction_cls if active_version is None: ver_cls = version_class(nodeclass) return (self.session.query(ver_cls).join(Transaction, ver_cls.transaction_id == Transaction.id) .join(Transaction.meta_relation) .filter_by(key=u'alias_id', value=unicode(ident)).scalar()) return active_version
def get(self, ident): # Override get() so that the flag is always checked in the # DB as opposed to pulling from the identity map. - this is optional. return Query.get(self.populate_existing(), ident)