मैंने 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 पृष्ठ पर अंक लगाना मॉड्यूल के लिए खोजा है: 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 जोड़ा गया है (क्योंकि चेतावनी स्टैक ट्रेस वापस नहीं करती है और इसलिए यह मेरे परीक्षण के दौरान यादृच्छिक रूप से होता है। Daud)।
धन्यवाद!
संपादित करें:
इसलिए @KlausD का उपयोग करके। वर्बोसिटी टिप, मैंने इस त्रुटि के कारण परीक्षण को देखा:
response = self.client.get('/api/orders/')
यह हो जाता है, OrderViewSet
लेकिन get_queryset में कोई भी चीज़ इसका कारण नहीं बनती है और क्रमिक वर्ग में कुछ भी इसका कारण नहीं बनती है। मेरे पास अन्य परीक्षण हैं जो समान / कोड / ऑर्डर प्राप्त करने के लिए उसी कोड का उपयोग करते हैं और जो इसका कारण नहीं बनते हैं .... get__tsetset के बाद DRF क्या करता है?
https://github.com/encode/django-rest-framework/blob/master/rest_framework/pagination.py#L166
यदि मैं पृष्ठांकन में एक ट्रेसबैक डालता हूं, तो मुझे django बाकी ढांचे से संबंधित सामान का एक पूरा गुच्छा मिलता है, लेकिन कुछ भी नहीं जो मेरे प्रश्नों को वापस इंगित करता है जो आदेश चेतावनी को ट्रिगर कर रहा है।
-v 2
अधिकांश परीक्षण धावकों पर) के साथ परीक्षण चलाना चाह सकते हैं