Changeset 4986
- Timestamp:
- 04/09/07 10:35:19 (2 years ago)
- Files:
-
- django/trunk/django/db/models/query.py (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/db/models/query.py
r4985 r4986 190 190 for row in rows: 191 191 if fill_cache: 192 obj, index_end = get_cached_row(klass=self.model, row=row, 192 obj, index_end = get_cached_row(klass=self.model, row=row, 193 193 index_start=0, max_depth=self._max_related_depth) 194 194 else: … … 202 202 Performs a SELECT COUNT() and returns the number of records as an 203 203 integer. 204 204 205 205 If the queryset is already cached (i.e. self._result_cache is set) this 206 206 simply returns the length of the cached results set to avoid multiple … … 209 209 if self._result_cache is not None: 210 210 return len(self._result_cache) 211 211 212 212 counter = self._clone() 213 213 counter._order_by = () … … 489 489 # Add additional tables and WHERE clauses based on select_related. 490 490 if self._select_related: 491 fill_table_cache(opts, select, tables, where, 492 old_prefix=opts.db_table, 493 cache_tables_seen=[opts.db_table], 491 fill_table_cache(opts, select, tables, where, 492 old_prefix=opts.db_table, 493 cache_tables_seen=[opts.db_table], 494 494 max_depth=self._max_related_depth) 495 495 … … 739 739 def get_cached_row(klass, row, index_start, max_depth=0, cur_depth=0): 740 740 """Helper function that recursively returns an object with cache filled""" 741 741 742 742 # If we've got a max_depth set and we've exceeded that depth, bail now. 743 743 if max_depth and cur_depth > max_depth: 744 744 return None 745 745 746 746 index_end = index_start + len(klass._meta.fields) 747 747 obj = klass(*row[index_start:index_end]) … … 759 759 place) for select_related queries. 760 760 """ 761 761 762 762 # If we've got a max_depth set and we've exceeded that depth, bail now. 763 763 if max_depth and cur_depth > max_depth: 764 764 return None 765 765 766 766 qn = backend.quote_name 767 767 for f in opts.fields: … … 827 827 # all uses of None as a query value. 828 828 if lookup_type != 'exact': 829 raise ValueError, "Cannot use None as a query value" 829 raise ValueError, "Cannot use None as a query value" 830 830 elif callable(value): 831 831 value = value()
