#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.

Reply via email to