summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2005-12-05 17:40:19 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2005-12-05 17:40:19 +0000
commit00203265209f081baab391213280917cd1f160e6 (patch)
tree5d72efa344f06fdad44acd8603db28d8c21ae5e3
parent9aa12357792791c8529a32046362029e5f677a6e (diff)
Fixed bug in get_next_by_FOO/get_previous_by_FOO methods that caused a database error when using those methods along with joining lookup contraints (i.e. "obj.get_next_by_pub_date(related__id__in=some_list)")
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1550 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/meta/__init__.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/django/core/meta/__init__.py b/django/core/meta/__init__.py
index 3aaaad576b..df95af37c2 100644
--- a/django/core/meta/__init__.py
+++ b/django/core/meta/__init__.py
@@ -1245,9 +1245,9 @@ def method_get_order(ordered_obj, self):
def method_get_next_or_previous(get_object_func, opts, field, is_next, self, **kwargs):
op = is_next and '>' or '<'
- kwargs.setdefault('where', []).append('(%s %s %%s OR (%s = %%s AND %s %s %%s))' % \
+ kwargs.setdefault('where', []).append('(%s %s %%s OR (%s = %%s AND %s.%s %s %%s))' % \
(db.db.quote_name(field.column), op, db.db.quote_name(field.column),
- db.db.quote_name(opts.pk.column), op))
+ db.db.quote_name(opts.db_table), db.db.quote_name(opts.pk.column), op))
param = str(getattr(self, field.attname))
kwargs.setdefault('params', []).extend([param, param, getattr(self, opts.pk.attname)])
kwargs['order_by'] = [(not is_next and '-' or '') + field.name, (not is_next and '-' or '') + opts.pk.name]