diff options
Diffstat (limited to 'app/sightings/views.py')
-rw-r--r-- | app/sightings/views.py | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/app/sightings/views.py b/app/sightings/views.py index c90e5c1..3170b77 100644 --- a/app/sightings/views.py +++ b/app/sightings/views.py @@ -2,15 +2,14 @@ from django.views.generic.detail import DetailView from django.views.generic import ListView from django.contrib.auth.models import User from utils.views import PaginatedListView -from .models import AP, Sighting +from .models import AP, Sighting, FieldNote class SightingListView(PaginatedListView): - template_name = 'archives/sightings.html' def get_queryset(self): qs_ids = Sighting.objects.order_by('ap__id', '-pub_date').distinct('ap').values_list('id', flat=True) - return Sighting.objects.filter(id__in=qs_ids).order_by('-pub_date') + return Sighting.objects.filter(id__in=qs_ids).order_by('-pub_date').prefetch_related('ap') class LifeListView(ListView): @@ -37,22 +36,20 @@ class SightingListUserView(PaginatedListView): class SightingDetailView(DetailView): model = AP - template_name = "details/sighting.html" - slug_field = "slug" def get_context_data(self, **kwargs): # Call the base implementation first to get a context context = super(SightingDetailView, self).get_context_data(**kwargs) + context['field_notes'] = FieldNote.objects.filter( + sighting__ap__slug=self.kwargs['slug'] + ) + context['sighting'] = Sighting.objects.filter( + ap__slug=self.kwargs['slug'] + ).prefetch_related('location') #try: # context['recording'] = SightingAudio.objects.get( # ap__slug=self.kwargs['slug'] # ) #except SightingAudio.DoesNotExist: # pass - try: - context['sighting'] = Sighting.objects.filter( - ap__slug=self.kwargs['slug'] - ) - except Sighting.DoesNotExist: - pass return context |