https://travis-ci.org/shtalinberg/django-el-pagination/jobs/224166104
Django 1.8-1.10 don't have that bug - all tests success
--
Ticket URL: <https://code.djangoproject.com/ticket/28108>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* status: new => closed
* resolution: => invalid
Comment:
The extraneous query is executed when the `UnorderedObjectListWarning`
message, which includes the queryset representation, is created as shown
in your build.
{{{
test_num_queries
(el_pagination.tests.templatetags.test_el_pagination_tags.LazyPaginateTest)
... /home/travis/build/shtalinberg/django-el-
pagination/.tox/py27-dj111/lib/python2.7/site-
packages/django/core/paginator.py:112: UnorderedObjectListWarning:
Pagination may yield inconsistent results with an unordered object_list:
<QuerySet [<TestModel: TestModel: 1>, <TestModel: TestModel: 2>,
<TestModel: TestModel: 3>, <TestModel: TestModel: 4>, <TestModel:
TestModel: 5>, <TestModel: TestModel: 6>, <TestModel: TestModel: 7>,
<TestModel: TestModel: 8>, <TestModel: TestModel: 9>, <TestModel:
TestModel: 10>, <TestModel: TestModel: 11>, <TestModel: TestModel: 12>,
<TestModel: TestModel: 13>, <TestModel: TestModel: 14>, <TestModel:
TestModel: 15>, <TestModel: TestModel: 16>, <TestModel: TestModel: 17>,
<TestModel: TestModel: 18>, <TestModel: TestModel: 19>, <TestModel:
TestModel: 20>, '...(remaining elements truncated)...']>
}}}
Making sure to pass an ordered set of objects to `paginate` should solve
your issue.
This could be done by adding `order_by('pk')` to the queryset your
`make_model_instances()` [https://github.com/shtalinberg/django-el-
pagination/blob/a156097afd8fb2be4075b4659a251f7deb954ada/el_pagination/tests/templatetags/test_el_pagination_tags.py#L87
function returns].
--
Ticket URL: <https://code.djangoproject.com/ticket/28108#comment:1>