summaryrefslogtreecommitdiff
path: root/app/sightings/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/sightings/views.py')
-rw-r--r--app/sightings/views.py19
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