예제 #1
0
 def translate_row(self, mapper, context, row):
     if mapper in self._row_translators:
         return self._row_translators[mapper](row)
     else:
         translator = create_row_adapter(self.get_selectable(mapper), mapper.mapped_table)
         self._row_translators[mapper] = translator
         return translator(row)
예제 #2
0
    def process_query_property(self, query, paths):
        if self.alias is not None and self.decorator is None:
            (mapper, propname) = paths[-1][-2:]

            prop = mapper.get_property(propname, resolve_synonyms=True)
            if isinstance(self.alias, basestring):
                self.alias = prop.target.alias(self.alias)

            self.decorator = mapperutil.create_row_adapter(self.alias)
        query._attributes[("eager_row_processor", paths[-1])] = self.decorator
예제 #3
0
    def process_query_property(self, query, paths):
        if self.alias is not None and self.decorator is None:
            (mapper, propname) = paths[-1][-2:]

            prop = mapper.get_property(propname, resolve_synonyms=True)
            if isinstance(self.alias, basestring):
                self.alias = prop.target.alias(self.alias)

            self.decorator = mapperutil.create_row_adapter(self.alias)
        query._attributes[("eager_row_processor", paths[-1])] = self.decorator
예제 #4
0
 def translate_row(self, mapper, context, row):
     if not self.translator:
         self.translator = create_row_adapter(
             mapper.mapped_table.alias(self.alias))
     return self.translator(row)
예제 #5
0
 def __init__(self, alias):
     self.alias = alias
     if isinstance(self.alias, basestring):
         self.translator = None
     else:
         self.translator = create_row_adapter(alias)
예제 #6
0
 def translate_row(self, mapper, context, row):
     if not self.translator:
         self.translator = create_row_adapter(mapper.mapped_table.alias(self.alias))
     return self.translator(row)
예제 #7
0
 def __init__(self, alias):
     self.alias = alias
     if isinstance(self.alias, basestring):
         self.translator = None
     else:
         self.translator = create_row_adapter(alias)