return None on IndexOutOfRange

This commit is contained in:
Fred 2016-08-07 21:35:56 +02:00
parent b0c5e0e4fd
commit 4887293d2b
2 changed files with 10 additions and 2 deletions

View File

@ -41,8 +41,14 @@ class Mesure(models.Model):
@property
def previous(self):
return self.gauge.mesures.filter(moment__lt=self.moment).order_by('-moment')[0]
try:
return self.gauge.mesures.filter(moment__lt=self.moment).order_by('-moment')[0]
except IndexError:
return None
@property
def next(self):
return self.gauge.mesures.filter(moment__gt=self.moment).order_by('moment')[0]
try:
return self.gauge.mesures.filter(moment__gt=self.moment).order_by('moment')[0]
except IndexError:
return None

View File

@ -74,7 +74,9 @@ class TestMesureModel(TestCase):
def test_previous(self):
self.assertEqual(self.mesure_1, self.mesure_3.previous)
self.assertIsNone(self.mesure_1.previous)
def test_next(self):
self.assertEqual(self.mesure_3, self.mesure_1.next)
self.assertIsNone(self.mesure_3.next)