Changeset 8851 for django/trunk/django/db/models/manager.py
- Timestamp:
- 09/02/08 04:04:54 (4 months ago)
- Files:
-
- django/trunk/django/db/models/manager.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/db/models/manager.py
r8223 r8851 24 24 def __init__(self): 25 25 super(Manager, self).__init__() 26 # Increase the creation counter, and save our local copy. 27 self.creation_counter = Manager.creation_counter 28 Manager.creation_counter += 1 26 self._set_creation_counter() 29 27 self.model = None 28 self._inherited = False 30 29 31 30 def contribute_to_class(self, model, name): … … 35 34 if not getattr(model, '_default_manager', None) or self.creation_counter < model._default_manager.creation_counter: 36 35 model._default_manager = self 36 if model._meta.abstract or self._inherited: 37 model._meta.abstract_managers.append((self.creation_counter, name, 38 self)) 39 40 def _set_creation_counter(self): 41 """ 42 Sets the creation counter value for this instance and increments the 43 class-level copy. 44 """ 45 self.creation_counter = Manager.creation_counter 46 Manager.creation_counter += 1 37 47 38 48 def _copy_to_model(self, model): … … 44 54 assert issubclass(model, self.model) 45 55 mgr = copy.copy(self) 56 mgr._set_creation_counter() 46 57 mgr.model = model 58 mgr._inherited = True 47 59 return mgr 48 60
