Browse Source

ajusta filter para FileField

pull/2393/head
Leandro Roberto 7 years ago
parent
commit
8d4749ddef
  1. 2
      sapl/api/serializers.py
  2. 12
      sapl/api/views.py

2
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

12
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
}

Loading…
Cancel
Save