Changeset 120
- Timestamp:
- 06/12/07 20:19:26 (6 years ago)
- Files:
-
- 1 modified
-
elixir/trunk/elixir/ext/associable.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
elixir/trunk/elixir/ext/associable.py
r118 r120 158 158 entity._descriptor.add_field(field) 159 159 entity._descriptor.relationships[able_name] = self 160 161 def select_by(cls, **kwargs): 162 return cls.query().join(attr_name).join('targets').filter_by(**kwargs).list() 163 setattr(entity, 'select_by_%s' % self.name, classmethod(select_by)) 160 164 161 def setup(self): 165 def setup(self): 162 166 self.create_properties() 163 167 return True … … 167 171 entity.mapper.add_property(attr_name, sa.relation(GenericAssoc, lazy=self.lazy, 168 172 backref='_backref_%s' % entity.table.name)) 173 entity.mapper.add_property(self.name, sa.synonym(attr_name)) 169 174 if self.uselist: 170 175 def get(self): … … 184 189 getattr(self, attr_name).targets = [value] 185 190 setattr(entity, self.name, property(get, set)) 186 191 187 192 sa.mapper(GenericAssoc, association_table, properties={ 188 193 'targets':sa.relation(entity, secondary=association_to_table,
