--- a/qrurls/models.py Mon Jul 15 03:00:11 2013 +0200
+++ b/qrurls/models.py Mon Jul 15 23:29:23 2013 +0300
@@ -33,14 +33,20 @@
if now is None :
now = timezone.now()
- return URLItem.objects.filter(shorturl=self, published__lt=now).order_by('-published')[0]
+ try :
+ return URLItem.objects.filter(shorturl=self, published__lt=now).order_by('-published')[0]
+ except IndexError :
+ return None
def upcoming_item(self, now=None) :
"""Following published URLItem."""
if now is None :
now = timezone.now()
- return URLItem.objects.filter(shorturl=self, published__gt=now).order_by('published')[0]
+ try :
+ return URLItem.objects.filter(shorturl=self, published__gt=now).order_by('published')[0]
+ except IndexError :
+ return None
def __unicode__ (self) :
return self.shorturl
--- a/qrurls/views.py Mon Jul 15 03:00:11 2013 +0200
+++ b/qrurls/views.py Mon Jul 15 23:29:23 2013 +0300
@@ -16,10 +16,10 @@
except URL.DoesNotExist :
raise Http404()
- try :
- # most recent
- url_item = url.active_item()
- except IndexError :
+ # most recent
+ url_item = url.active_item()
+
+ if not url_item :
raise Http404()
return HttpResponseRedirect(url_item.get_absolute_url())