Django

Code

Changeset 2194

Show
Ignore:
Timestamp:
01/30/06 18:02:11 (3 years ago)
Author:
adrian
Message:

magic-removal: Implemented Manager.all() and changed Manager so that it doesn't cache.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/magic-removal/django/db/models/manager.py

    r2193 r2194  
    3636        Manager.creation_counter += 1 
    3737        self.model = None 
     38        self._use_cache = False 
    3839 
    3940    def _prepare(self): 
     
    5455        return self.get_object(*args, **kwargs) 
    5556 
     57    def all(self): 
     58        # Returns a caching QuerySet. 
     59        return QuerySet(self.model) 
     60 
    5661    def add(self, **kwargs): 
    5762        kwargs.update(self.core_values) 
  • django/branches/magic-removal/django/db/models/query.py

    r2191 r2194  
    6464    core_filters = {} 
    6565 
    66     # Subclasses need to provide 'self.model' attribute for this class 
    67     # to be able to function. 
    68     model = None 
    69  
    70     def __init__(self): 
     66    def __init__(self, model=None): 
     67        self.model = model 
    7168        self._filters = Q(**(self.core_filters)) 
    7269        self._order_by = None        # Ordering, e.g. ('date', '-name'). If None, use model's ordering. 
     
    8077        self._limit = None           # LIMIT clause 
    8178        self._result_cache = None 
     79        self._use_cache = True 
    8280 
    8381    ######################## 
    8482    # PYTHON MAGIC METHODS # 
    8583    ######################## 
     84 
     85    def __repr__(self): 
     86        return repr(self._get_data()) 
    8687 
    8788    def __len__(self): 
     
    314315 
    315316    def _get_data(self): 
    316         return list(self.iterator()) 
    317 #         if self._result_cache is None: 
    318 #             self._result_cache = list(self.iterator()) 
    319 #         return self._result_cache 
     317        if self._use_cache: 
     318            if self._result_cache is None: 
     319                self._result_cache = list(self.iterator()) 
     320            return self._result_cache 
     321        else: 
     322            return list(self.iterator()) 
    320323 
    321324    def _get_sql_clause(self, allow_joins):