#django #django-rest-framework #django-rest-framework-filters
#django #django-rest-framework #django-rest-framework-filters
Вопрос:
Я обнаружил, что строка from rest_framework.filters import SearchFilter
выдает мне ошибку как
from django.db.models.sql.constants import ORDER_PATTERN
ImportError: cannot import name 'ORDER_PATTERN' from 'django.db.models.sql.constants' (E:anacondaenvsAHG_weblibsite-packagesdjangodbmodelssqlconstants.py)
Я использовал это, как показано ниже:
class op_ViewSet(viewsets.ModelViewSet) :
# permission_classes = (permissions.IsAuthenticated,)
queryset = Op.objects.all().filter()
serializer_class = op_Serializer
# authentication_classes = [TokenAuthentication , SessionAuthentication , BasicAuthentication]
# pagination_class = PageNumberPagination
# pagination_class = StandardResultsSetPagination
filter_backends = [DjangoFilterBackend , SearchFilter]
filter_class = op_filter
ordering_fields = ['close_date' , ]
ordering = ['close_date']
search_fields = ['website' , 'title' , 'description' , 'organization__name']
@action(detail=True , methods=['Get'])
def attachments(self , request , pk) :
op = self.get_object()
links = Attachments.objects.filter(op_id=op.id)
serializer = attachments_Serializer(links , many=True)
return Response(serializer.data)
раньше все работало нормально, кто-нибудь может помочь мне с решением.
Комментарии:
1. Какие версии Django и rest framework у вас установлены?
2. @lain Shelvington (3, 1, 5, ‘final’, 0)
3. А версия rest_framework?
4. Существуют проблемы с django_filters и django> 3, которые с тех пор были исправлены. Вы недавно обновили django, но не django_filters?
5. При быстром поиске кажется, что это, вероятно, проблема с устаревшим DRF: github.com/encode/django-rest-framework/pull/7259
Ответ №1:
Это похоже на проблему совместимости между версиями Django и Django Rest Framework. Обновление до последней версии DRF должно устранить ее.
(У меня была эта ошибка после обновления Django 3.0.x до 3.2)