From 8d4749ddef075487c739240f6c7e859bdc4a7e8e Mon Sep 17 00:00:00 2001 From: Leandro Roberto Date: Wed, 30 Jan 2019 17:48:17 -0200 Subject: [PATCH] ajusta filter para FileField --- sapl/api/serializers.py | 2 +- sapl/api/views.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/sapl/api/serializers.py b/sapl/api/serializers.py index 093e5d003..6f686fb0f 100644 --- a/sapl/api/serializers.py +++ b/sapl/api/serializers.py @@ -109,7 +109,7 @@ class SessaoPlenariaOldSerializer(serializers.ModelSerializer): ) def __init__(self, *args, **kwargs): - super(SessaoPlenariaSerializer, self).__init__(args, kwargs) + super(SessaoPlenariaOldSerializer, self).__init__(args, kwargs) def get_pk_sessao(self, obj): return obj.pk diff --git a/sapl/api/views.py b/sapl/api/views.py index 4ca4d12ba..1c1b2ae7f 100644 --- a/sapl/api/views.py +++ b/sapl/api/views.py @@ -6,10 +6,12 @@ from django.conf import settings from django.contrib.contenttypes.models import ContentType from django.db.models import Q from django.db.models import Q +from django.db.models.fields.files import FileField from django.http import Http404 from django.utils.decorators import classonlymethod from django.utils.text import capfirst from django.utils.translation import ugettext_lazy as _ +import django_filters from django_filters.rest_framework.backends import DjangoFilterBackend from django_filters.rest_framework.filterset import FilterSet from django_filters.utils import resolve_field @@ -347,6 +349,14 @@ class SaplApiViewSetConstrutor(ModelViewSet): class Meta: model = _model fields = '__all__' + filter_overrides = { + FileField: { + 'filter_class': django_filters.CharFilter, + 'extra': lambda f: { + 'lookup_expr': 'exact', + }, + }, + } @classmethod def filter_for_field(cls, f, name, lookup_expr='exact'): @@ -355,7 +365,7 @@ class SaplApiViewSetConstrutor(ModelViewSet): f, lookup_type = resolve_field(f, lookup_expr) default = { - 'name': name, + 'field_name': name, 'label': capfirst(f.verbose_name), 'lookup_expr': lookup_expr }