Skip to content

Commit eb2c4c2

Browse files
committed
Version 3.11.1
1 parent de497a9 commit eb2c4c2

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

rest_framework/filters.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from django.core.exceptions import ImproperlyConfigured
99
from django.db import models
1010
from django.db.models.constants import LOOKUP_SEP
11-
from django.db.models.sql.constants import ORDER_PATTERN
1211
from django.template import loader
1312
from django.utils.encoding import force_str
1413
from django.utils.translation import gettext_lazy as _
@@ -256,7 +255,13 @@ def get_valid_fields(self, queryset, view, context={}):
256255

257256
def remove_invalid_fields(self, queryset, fields, view, request):
258257
valid_fields = [item[0] for item in self.get_valid_fields(queryset, view, {'request': request})]
259-
return [term for term in fields if term.lstrip('-') in valid_fields and ORDER_PATTERN.match(term)]
258+
259+
def term_valid(term):
260+
if term.startswith("-"):
261+
term = term[1:]
262+
return term in valid_fields
263+
264+
return [term for term in fields if term_valid(term)]
260265

261266
def filter_queryset(self, request, queryset, view):
262267
ordering = self.get_ordering(request, queryset, view)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy