Marta Miranda

Closed feature/#62_agregar_ordenamiento_de_edictos

1 from django_filters import rest_framework as filters 1 from django_filters import rest_framework as filters
  2 +from django.db.models import Q
2 3
3 from edicto.models import Edicto, Precio 4 from edicto.models import Edicto, Precio
4 5
5 6
6 class EdictoFilter(filters.FilterSet): 7 class EdictoFilter(filters.FilterSet):
7 - fecha_creacion__gte = filters.DateFilter(field_name="fecha_creacion", lookup_expr='gte', label='Desde')  
8 - fecha_creacion__lte = filters.DateFilter(field_name="fecha_creacion", lookup_expr='lte', label='Hasta')  
9 -  
10 class Meta: 8 class Meta:
11 model = Edicto 9 model = Edicto
12 fields = {'usuario': ['exact'], 10 fields = {'usuario': ['exact'],
13 'estado': ['exact'], 11 'estado': ['exact'],
14 'uuid': ['exact'], 12 'uuid': ['exact'],
15 } 13 }
  14 + fecha_creacion__gte = filters.DateFilter(field_name="fecha_creacion", lookup_expr='gte', label='Desde')
  15 + fecha_creacion__lte = filters.DateFilter(field_name="fecha_creacion", lookup_expr='lte', label='Hasta')
  16 + estado = filters.CharFilter(field_name='estado', method='obtener_estados')
  17 +
  18 + def obtener_estados(self, queryset, name, value):
  19 + cadena = value
  20 + separador = ","
  21 + lista_estados = cadena.split(separador)
  22 + filtro = Q()
  23 + for t in lista_estados:
  24 + filtro = filtro | Q(estado__icontains=t)
  25 + return queryset.filter(filtro)
16 26
17 27
18 class PrecioFilter(filters.FilterSet): 28 class PrecioFilter(filters.FilterSet):