from django.urls import reverse from builder.base import BuildNew from .models import Sighting class BuildSightings(BuildNew): def build(self): self.build_detail_view() self.build_list_view( base_path=reverse("sightings:list"), paginate_by=24 ) def get_model_queryset(self): qs_ids = Sighting.objects.order_by('ap__id', '-pub_date').distinct('ap').values_list('id', flat=True) qs = Sighting.objects.filter(id__in=qs_ids).order_by('-pub_date') return qs def builder(): j = BuildSightings("sightings", "sighting") j.build()