Newer
Older
from django.views.generic import ListView
from rest_framework import generics, pagination
from rest_framework.views import APIView
import django_filters
from django_filters import rest_framework as filters
from .models import LofarData
from .serializers import LofarDataSerializer
# --- Filters ---
class LofarDataFilter(filters.FilterSet):
class Meta:
model = LofarData
fields = {
'sas_id': ['exact', 'icontains'],
}
# ---------- GUI Views -----------
class IndexView(ListView):
"""
This is the main view of LDV Specification GUI.
"""
template_name = 'lofardata/index.html'
model = LofarData
queryset = LofarData.objects.all().order_by('sas_id')
# ---------- REST API views ----------
class LofarDataView(generics.ListCreateAPIView):
model = LofarData
serializer_class = LofarDataSerializer
queryset = LofarData.objects.all().order_by('sas_id')
# using the Django Filter Backend - https://django-filter.readthedocs.io/en/latest/index.html
filter_backends = (filters.DjangoFilterBackend,)
filter_class = LofarDataFilter