mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-18 12:12:19 +03:00
change term_valid def
This commit is contained in:
parent
0561ecff33
commit
43a07e23bd
|
@ -300,7 +300,7 @@ class OrderingFilter(BaseFilterBackend):
|
||||||
(field.name, field.verbose_name) for field in queryset.model._meta.fields
|
(field.name, field.verbose_name) for field in queryset.model._meta.fields
|
||||||
]
|
]
|
||||||
valid_fields += [
|
valid_fields += [
|
||||||
(key, key.title().split('__'))
|
(key, key)
|
||||||
for key in queryset.query.annotations
|
for key in queryset.query.annotations
|
||||||
]
|
]
|
||||||
else:
|
else:
|
||||||
|
@ -315,13 +315,19 @@ class OrderingFilter(BaseFilterBackend):
|
||||||
valid_fields = {item[1]: item[0] for item in self.get_valid_fields(queryset, view, {'request': request})}
|
valid_fields = {item[1]: item[0] for item in self.get_valid_fields(queryset, view, {'request': request})}
|
||||||
|
|
||||||
def term_valid(term):
|
def term_valid(term):
|
||||||
|
negative = ""
|
||||||
if term.startswith("-"):
|
if term.startswith("-"):
|
||||||
|
negative = "-"
|
||||||
term = term[1:]
|
term = term[1:]
|
||||||
return valid_fields.get(term) is not None
|
|
||||||
|
if valid_fields.get(term):
|
||||||
|
return negative + valid_fields.get(term)
|
||||||
|
|
||||||
|
elif term in valid_fields.values():
|
||||||
|
return negative + term
|
||||||
|
|
||||||
return [
|
return [
|
||||||
valid_fields.get(term) if not term.startswith("-") else '-' + valid_fields.get(term[1:])
|
term_valid(term) for term in fields if term_valid(term)
|
||||||
for term in fields if term_valid(term)
|
|
||||||
]
|
]
|
||||||
|
|
||||||
def filter_queryset(self, request, queryset, view):
|
def filter_queryset(self, request, queryset, view):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user