Django 1.10.4에서 1.11.1로 업그레이드했는데 갑자기 테스트를 실행할 때 다음과 같은 메시지가 많이 표시됩니다.
lib/python3.5/site-packages/rest_framework/pagination.py:208:
UnorderedObjectListWarning:
Pagination may yield inconsistent results with an unordered object_list:
<QuerySet [<Group: Requester>]>
paginator = self.django_paginator_class(queryset, page_size)
Django Pagination 모듈로 다시 추적했습니다. https://github.com/django/django/blob/master/django/core/paginator.py#L100
내 쿼리 셋 코드와 관련된 것 같습니다.
return get_user_model().objects.filter(id=self.request.user.id)
이 경고에 대한 자세한 내용은 어떻게 찾을 수 있습니까? 내가 추가 할 필요가있을 것으로 보인다 order_by(id)
내 테스트 중에 무작위로 발생하므로 모든 필터의 말에,하지만 난 경고가 스택 추적을 반환하지 않기 때문에 order_by이 (추가 필요가있는 코드를 찾을 수 없습니다 및 운영).
감사!
편집하다:
따라서 @KlausD를 사용합니다. 자세한 정보,이 오류를 일으키는 테스트를 살펴 보았습니다.
response = self.client.get('/api/orders/')
이것은 이동 OrderViewSet
하지만 get_queryset의 어떤 것도 원인이 아니며 serializer 클래스의 어떤 것도 원인이되지 않습니다. 동일한 코드를 사용하여 / api / orders를 가져 오는 다른 테스트가 있는데이 테스트가 발생하지 않습니다 .... get_queryset 후에 DRF가 수행하는 작업은 무엇입니까?
https://github.com/encode/django-rest-framework/blob/master/rest_framework/pagination.py#L166
페이지 매김에 트레이스 백을 넣으면 django rest 프레임 워크와 관련된 모든 것을 얻지 만 어떤 쿼리가 주문 경고를 트리거 하는지를 가리키는 것은 없습니다.
-v 2
대부분의 테스트