Changeset 3157
- Timestamp:
- 06/19/06 21:17:14 (2 years ago)
- Files:
-
- django/trunk/django/db/models/base.py (modified) (2 diffs)
- django/trunk/tests/modeltests/lookup/models.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/db/models/base.py
r3145 r3157 272 272 return dict(field.choices).get(value, value) 273 273 274 def _get_next_or_previous_by_FIELD(self, field, is_next ):274 def _get_next_or_previous_by_FIELD(self, field, is_next, **kwargs): 275 275 op = is_next and '>' or '<' 276 276 where = '(%s %s %%s OR (%s = %%s AND %s.%s %s %%s))' % \ … … 278 278 backend.quote_name(self._meta.db_table), backend.quote_name(self._meta.pk.column), op) 279 279 param = str(getattr(self, field.attname)) 280 q = self.__class__._default_manager. order_by((not is_next and '-' or '') + field.name, (not is_next and '-' or '') + self._meta.pk.name)280 q = self.__class__._default_manager.filter(**kwargs).order_by((not is_next and '-' or '') + field.name, (not is_next and '-' or '') + self._meta.pk.name) 281 281 q._where.append(where) 282 282 q._params.extend([param, param, getattr(self, self._meta.pk.attname)]) django/trunk/tests/modeltests/lookup/models.py
r3075 r3157 129 129 >>> a2.get_next_by_pub_date() 130 130 <Article: Article 3> 131 >>> a2.get_next_by_pub_date( headline__endswith = '6' ) 132 <Article: Article 6> 131 133 >>> a3.get_next_by_pub_date() 132 134 <Article: Article 7>
