Changeset 243
- Timestamp:
- 10/25/07 10:07:01 (5 years ago)
- Location:
- elixir/trunk
- Files:
-
- 5 modified
-
elixir/entity.py (modified) (4 diffs)
-
elixir/fields.py (modified) (1 diff)
-
elixir/properties.py (modified) (2 diffs)
-
elixir/relationships.py (modified) (1 diff)
-
tests/test_properties.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
elixir/trunk/elixir/entity.py
r238 r243 102 102 # columns waiting for a table to exist 103 103 self._columns = list() 104 self.properties = dict() 105 self.constraints = list() 106 107 # 104 108 self.relationships = list() 105 self.constraints = list()106 109 107 110 # set default value for options … … 409 412 args = [self.entity.table] 410 413 411 self.entity.mapper = _do_mapping(self.session, self.entity, 414 self.entity.mapper = _do_mapping(self.session, self.entity, 415 properties=self.properties, 412 416 *args, **kwargs) 413 417 … … 457 461 if table: 458 462 table.append_constraint(constraint) 463 464 def add_property(self, name, property, check_duplicate=True): 465 if check_duplicate and name in self.properties: 466 raise Exception("property '%s' already exist in '%s' ! " % 467 (name, self.entity.__name__)) 468 self.properties[name] = property 469 mapper = self.entity.mapper 470 if mapper: 471 mapper.add_property(name, property) 459 472 460 473 def add_mapper_extension(self, extension): … … 700 713 'before_table', 'setup_table', 'setup_reltables', 'after_table', 701 714 'setup_events', 715 'setup_properties', 702 716 'before_mapper', 'setup_mapper', 'after_mapper', 703 'setup_properties',704 717 'finalize'): 705 718 for entity in entities: -
elixir/trunk/elixir/fields.py
r238 r243 197 197 198 198 if self.property: 199 self.entity. mapper.add_property(self.name, self.property)199 self.entity._descriptor.add_property(self.name, self.property) 200 200 201 201 if self.synonym: 202 self.entity. mapper.add_property(self.synonym, synonym(self.name))202 self.entity._descriptor.add_property(self.synonym, synonym(self.name)) 203 203 204 204 -
elixir/trunk/elixir/properties.py
r237 r243 64 64 pass 65 65 66 def create_properties(self): 67 pass 68 66 69 def before_mapper(self): 67 70 pass 68 71 69 72 def after_mapper(self): 70 pass71 72 def create_properties(self):73 73 pass 74 74 … … 132 132 prop_value = self.prop 133 133 prop_value = self.evaluate_property(prop_value) 134 self.entity. mapper.add_property(self.name, prop_value)134 self.entity._descriptor.add_property(self.name, prop_value) 135 135 136 136 def evaluate_property(self, prop): -
elixir/trunk/elixir/relationships.py
r240 r243 405 405 self.property = relation(self.target, **kwargs) 406 406 #TODO: check for duplicate properties 407 self.entity. mapper.add_property(self.name, self.property)407 self.entity._descriptor.add_property(self.name, self.property) 408 408 409 409 def target(self): -
elixir/trunk/tests/test_properties.py
r238 r243 54 54 assert tag.query_score3 == tag.prop_score + 2 55 55 56 def test_deferred(self): 57 class A(Entity): 58 name = Field(Unicode(20)) 59 stuff = Field(Unicode, deferred=True) 60 61 setup_all(True) 62 63 A(name='foo') 64 session.flush() 65 56 66 def test_synonym(self): 57 67 class Person(Entity):
