Changeset 497
- Timestamp:
- 10/13/09 16:02:15 (4 years ago)
- Location:
- elixir/trunk/elixir
- Files:
-
- 3 modified
Legend:
- Unmodified
- Added
- Removed
-
elixir/trunk/elixir/entity.py
r490 r497 25 25 26 26 DEBUG = False 27 try:28 from sqlalchemy.orm import EXT_PASS29 SA05orlater = False30 except ImportError:31 SA05orlater = True32 27 33 28 __doc_all__ = ['Entity', 'EntityMeta'] … … 589 584 # some useful properties 590 585 586 @property 591 587 def table_fullname(self): 592 588 ''' … … 599 595 else: 600 596 return self.tablename 601 table_fullname = property(table_fullname) 602 597 598 @property 603 599 def columns(self): 604 600 if self.entity.table is not None: … … 609 605 # using a column defined in the parent. 610 606 return self._columns 611 columns = property(columns) 612 607 608 @property 613 609 def primary_keys(self): 614 610 """ … … 624 620 else: 625 621 return [col for col in self.columns if col.primary_key] 626 primary_keys = property(primary_keys) 627 622 623 @property 628 624 def table(self): 629 625 if self.entity.table is not None: … … 631 627 else: 632 628 return FakeTable(self) 633 table = property(table) 634 629 630 @property 635 631 def primary_key_properties(self): 636 632 """ … … 652 648 self._pk_props = [col_to_prop[c] for c in pk_cols] 653 649 return self._pk_props 654 primary_key_properties = property(primary_key_properties)655 650 656 651 class FakePK(object): … … 949 944 # This bunch of session methods, along with all the query methods below 950 945 # only make sense when using a global/scoped/contextual session. 946 @property 951 947 def _global_session(self): 952 948 return self._descriptor.session.registry() 953 _global_session = property(_global_session)954 949 955 950 def merge(self, *args, **kwargs): … … 970 965 971 966 # query methods 967 @classmethod 972 968 def get_by(cls, *args, **kwargs): 973 969 """ … … 977 973 """ 978 974 return cls.query.filter_by(*args, **kwargs).first() 979 get_by = classmethod(get_by) 980 975 976 @classmethod 981 977 def get(cls, *args, **kwargs): 982 978 """ … … 986 982 """ 987 983 return cls.query.get(*args, **kwargs) 988 get = classmethod(get)989 984 990 985 -
elixir/trunk/elixir/events.py
r391 r497 1 from sqlalchemy.orm import reconstructor 2 1 3 __all__ = [ 2 4 'before_insert', … … 23 25 before_delete = create_decorator('before_delete') 24 26 after_delete = create_decorator('after_delete') 25 try: 26 from sqlalchemy.orm import reconstructor 27 except ImportError: 28 def reconstructor(func): 29 raise Exception('The reconstructor method decorator is only ' 30 'available with SQLAlchemy 0.5 and later') 27 -
elixir/trunk/elixir/relationships.py
r490 r497 487 487 self.add_mapper_property(self.name, self.property) 488 488 489 @property 489 490 def target(self): 490 491 if not self._target: … … 495 496 self._target = self.of_kind 496 497 return self._target 497 target = property(target) 498 498 499 @property 499 500 def inverse(self): 500 501 if not hasattr(self, '_inverse'): … … 525 526 526 527 return self._inverse 527 inverse = property(inverse)528 528 529 529 def match_type_of(self, other): … … 606 606 return isinstance(other, (OneToMany, OneToOne)) 607 607 608 @property 608 609 def target_table(self): 609 610 if isinstance(self.target, EntityMeta): … … 611 612 else: 612 613 return class_mapper(self.target).local_table 613 target_table = property(target_table)614 614 615 615 def create_keys(self, pk):
