#28219: Paginator warning about unordered object should include stack trace
--------------------------------+--------------------------------------
Reporter: Denise Mauldin | Owner: nobody
Type: Uncategorized | Status: new
Component: Uncategorized | Version: 1.11
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------+--------------------------------------
Comment (by Denise Mauldin):
Hi Simon,
I'm not sure what to do. If I edit django/core/paginator.py to do a
traceback.print_stack() call before the warning is called, then I get
something really long that doesn't include any of my code other than the
API call:
{{{
File "manage.py", line 23, in <module>
execute_from_command_line(sys.argv)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/management/__init__.py", line 363, in
execute_from_command_line
utility.execute()
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/management/__init__.py", line 355, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/management/commands/test.py", line 29, in
run_from_argv
super(Command, self).run_from_argv(argv)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/management/base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/management/base.py", line 330, in execute
output = self.handle(*args, **options)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/management/commands/test.py", line 62, in handle
failures = test_runner.run_tests(test_labels)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/test/runner.py", line 603, in run_tests
result = self.run_suite(suite)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/test/runner.py", line 567, in run_suite
return runner.run(suite)
File "/usr/local/python/3.5.1/lib/python3.5/unittest/runner.py", line
176, in run
test(result)
File "/usr/local/python/3.5.1/lib/python3.5/unittest/suite.py", line 84,
in __call__
return self.run(*args, **kwds)
File "/usr/local/python/3.5.1/lib/python3.5/unittest/suite.py", line
122, in run
test(result)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/test/testcases.py", line 213, in __call__
super(SimpleTestCase, self).__call__(result)
File "/usr/local/python/3.5.1/lib/python3.5/unittest/case.py", line 648,
in __call__
return self.run(*args, **kwds)
File "/usr/local/python/3.5.1/lib/python3.5/unittest/case.py", line 600,
in run
testMethod()
File "/var/www/ann/ann/orders/tests/test_api.py", line 58, in
test_order_list_denied
response = self.client.get('/api/orders/')
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/rest_framework/test.py", line 282, in get
response = super(APIClient, self).get(path, data=data, **extra)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/rest_framework/test.py", line 208, in get
return self.generic('GET', path, **r)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/test/client.py", line 416, in generic
return self.request(**r)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/rest_framework/test.py", line 279, in request
return super(APIClient, self).request(**kwargs)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/rest_framework/test.py", line 231, in request
request = super(APIRequestFactory, self).request(**kwargs)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/test/client.py", line 483, in request
response = self.handler(environ)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/test/client.py", line 144, in __call__
response = self.get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/rest_framework/test.py", line 251, in get_response
return super(ForceAuthClientHandler, self).get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/base.py", line 124, in get_response
response = self._middleware_chain(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/var/www/ann/ann/common/middleware.py", line 33, in __call__
return self.get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args,
**callback_kwargs)
File "/usr/local/python/3.5.1/lib/python3.5/contextlib.py", line 30, in
inner
return func(*args, **kwds)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/views/decorators/csrf.py", line 58, in wrapped_view
return view_func(*args, **kwargs)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/rest_framework/viewsets.py", line 86, in view
return self.dispatch(request, *args, **kwargs)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/rest_framework/views.py", line 486, in dispatch
response = handler(request, *args, **kwargs)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/rest_framework/mixins.py", line 42, in list
page = self.paginate_queryset(queryset)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/rest_framework/generics.py", line 173, in paginate_queryset
return self.paginator.paginate_queryset(queryset, self.request,
view=self)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/rest_framework/pagination.py", line 208, in paginate_queryset
paginator = self.django_paginator_class(queryset, page_size)
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/paginator.py", line 32, in __init__
self._check_object_list_is_ordered()
File "/home/vagrant/.virtualenvs/ann/lib/python3.5/site-
packages/django/core/paginator.py", line 110, in
_check_object_list_is_ordered
traceback.print_stack()
}}}
So I'm not sure why this warning is being triggered. I set Meta: ordering
defaults on all of my models and apiviews. What else am I missing?
Maybe I should report this on rest_framework's bug tracker?
--
Ticket URL: <https://code.djangoproject.com/ticket/28219#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/071.645dd0c0e9cb3bdae5db443a1d876c50%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.