Я пытался реализовать функцию фильтрации по параметру запроса в URL после этой страницы , и она работала в другой среде.
Таким образом, я пытался воспроизвести этот код в другом приложении.Однако, хотя я реализовал тот же код, не могу найти интерфейс фильтрации, как показано ниже.
Кто-нибудь знает, что мне не хватает?
![enter image description here](https://i.stack.imgur.com/wVvY7.png)
urls.py
router=routers.SimpleRouter()
router.register(r'list',projectViewSet)
urlpatterns = [
url(r'^api/', include(router.urls)),
]
views.py
class projectViewSet(viewsets.ModelViewSet):
"""
This API returns the list of all projects with basic information to be able to filter
"""
queryset=html.objects.all()
serializer_class = projectSerializer
filter_class=projectAPIfilter
serializer.py
class projectSerializer(serializers.ModelSerializer):
area=areaSerializer(read_only=True)
unmet=unmetSerializer(read_only=True)
energy = energySer(read_only=True)
class Meta:
model = html
fields = ('pk', 'project', 'version', 'program', 'location', 'certificate', 'user', 'good', 'final','area','unmet','energy','good','final')
filters.py
class projectAPIfilter(filters.FilterSet):
user = django_filters.CharFilter(lookup_expr="iexact")
project = django_filters.CharFilter(lookup_expr="icontains")
class Meta:
model=html
fields=['project','program','location','certificate','user','good','final']
settings.py
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS': (
'django_filters.rest_framework.DjangoFilterBackend',
),
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
'PAGE_SIZE': 100
}
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'corsheaders',
'rest_framework',
'rest_framework.authtoken',
'widget_tweaks',
'crispy_forms',
'rest_framework_swagger',
#'el_pagination',
'django_tables2',
'django_filters',
'heatBalance',
'project',
'ecm',
'help',
'BEAM',
'social_django',
# 'social_django_mongoengine'
]
пакетов
django=2.0.4=py35_0
djangorestframework==3.8.2
django-filter==1.1.0
Обновление
В соответствии с запросом Анджелы, я попытался набрать / project / api / list /? User = существующие-user-uuid, но, похоже, возврат api не меняется, как показано ниже.
![enter image description here](https://i.stack.imgur.com/JgBzU.png)