override default Mesures manager
This commit is contained in:
parent
de40cc0d0d
commit
60114a0303
|
@ -26,7 +26,7 @@ class Diff(object):
|
||||||
|
|
||||||
|
|
||||||
class MesureManager(models.Manager):
|
class MesureManager(models.Manager):
|
||||||
def create(self, moment, value, gauge_sn, category_label):
|
def create_with_deps(self, moment, value, gauge_sn, category_label):
|
||||||
cat, cat_created = Category.objects.get_or_create(name=category_label)
|
cat, cat_created = Category.objects.get_or_create(name=category_label)
|
||||||
gauge, gauge_created = Gauge.objects.get_or_create(serial_number=gauge_sn, category=cat)
|
gauge, gauge_created = Gauge.objects.get_or_create(serial_number=gauge_sn, category=cat)
|
||||||
mesure = Mesure.objects.create(moment=moment, value=value, gauge=gauge)
|
mesure = Mesure.objects.create(moment=moment, value=value, gauge=gauge)
|
||||||
|
@ -39,6 +39,8 @@ class Mesure(models.Model):
|
||||||
value = models.DecimalField(max_digits=10, decimal_places=4)
|
value = models.DecimalField(max_digits=10, decimal_places=4)
|
||||||
gauge = models.ForeignKey(Gauge, related_name='mesures')
|
gauge = models.ForeignKey(Gauge, related_name='mesures')
|
||||||
|
|
||||||
|
objects = MesureManager()
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "{} {}".format(self.moment, self.value)
|
return "{} {}".format(self.moment, self.value)
|
||||||
|
|
||||||
|
|
|
@ -51,8 +51,22 @@ class TestGaugeModel(TestCase):
|
||||||
|
|
||||||
|
|
||||||
class TestMesureManager(TestCase):
|
class TestMesureManager(TestCase):
|
||||||
def test_create(self):
|
def test_create_with_deps(self):
|
||||||
raise Exception('not implemented yet')
|
d1 = timezone.make_aware(datetime(2016, 1, 1))
|
||||||
|
d2 = timezone.make_aware(datetime(2016, 2, 1))
|
||||||
|
|
||||||
|
m1 = Mesure.objects.create_with_deps(d1, 0.001, 'undefined', 'eau')
|
||||||
|
|
||||||
|
cat = Category.objects.get(name='eau')
|
||||||
|
gauge = Gauge.objects.get(serial_number='undefined')
|
||||||
|
|
||||||
|
self.assertEqual(cat, m1.category)
|
||||||
|
self.assertEqual(gauge, m1.gauge)
|
||||||
|
|
||||||
|
m2 = Mesure.objects.create_with_deps(d2, 0.002, 'undefined', 'eau')
|
||||||
|
|
||||||
|
self.assertEqual(cat, m2.category)
|
||||||
|
self.assertEqual(gauge, m2.gauge)
|
||||||
|
|
||||||
|
|
||||||
class TestMesureModel(TestCase):
|
class TestMesureModel(TestCase):
|
||||||
|
|
Loading…
Reference in New Issue