1313
1414class Evaluator (models .Model ):
1515 """A sensor evaluator."""
16+ id = models .AutoField (primary_key = True )
1617 name = models .CharField ('Name of evaluator' , max_length = 15 , unique = True )
1718 class_name = models .CharField ('Python class to call' , max_length = 50 )
1819 kwargs = models .CharField ('JSON encoded kwargs to pass to constructor' , max_length = 50 , blank = True , null = True )
@@ -24,6 +25,7 @@ def __str__(self):
2425
2526class Station (models .Model ):
2627 """A weather station."""
28+ id = models .AutoField (primary_key = True )
2729 code = models .CharField ('Code for weather station' , max_length = 10 , unique = True )
2830 name = models .CharField ('Name of weather station' , max_length = 50 )
2931 class_name = models .CharField ('Name of Python class to handle station' , max_length = 100 )
@@ -80,6 +82,7 @@ def delete(self, *args, **kwargs):
8082
8183class SensorType (models .Model ):
8284 """A sensor type."""
85+ id = models .AutoField (primary_key = True )
8386 code = models .CharField ('Code for sensor type' , max_length = 10 , unique = True )
8487 name = models .CharField ('Name of sensor type' , max_length = 50 )
8588 unit = models .CharField ('Unit for value' , max_length = 10 )
@@ -91,6 +94,7 @@ def __str__(self):
9194
9295class Sensor (models .Model ):
9396 """A sensor."""
97+ id = models .AutoField (primary_key = True )
9498 station = models .ForeignKey (Station , on_delete = models .CASCADE , db_index = True )
9599 type = models .ForeignKey (SensorType , on_delete = models .CASCADE )
96100 evaluators = models .ManyToManyField (Evaluator , blank = True )
@@ -111,6 +115,7 @@ class Meta:
111115
112116class Value (models .Model ):
113117 """A single value from a sensor."""
118+ id = models .AutoField (primary_key = True )
114119 sensor = models .ForeignKey (Sensor , on_delete = models .CASCADE , db_index = True )
115120 time = models .DateTimeField ('Date and time when value was measured' , db_index = True )
116121 value = models .FloatField ('Measured value' , null = True , blank = True )
@@ -129,5 +134,6 @@ class Meta:
129134
130135class GoodWeather (models .Model ):
131136 """Times of changes from good to bad weather and vice versa."""
137+ id = models .AutoField (primary_key = True )
132138 time = models .DateTimeField ('Date and time of status change' , db_index = True , auto_now_add = True )
133139 good = models .BooleanField ('Weather now good?' )
0 commit comments