You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
from django.db import models
|
|
|
|
class Client(models.Model):
|
|
id = models.AutoField(primary_key=True, auto_created=True, editable=False)
|
|
hostname = models.CharField(unique=True, max_length=100)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
class Meta:
|
|
ordering = ['id']
|
|
|
|
def __str__(self):
|
|
return f'{self.id}: {self.hostname} - {self.created_at}'
|
|
|
|
class Temperature(models.Model):
|
|
id = models.AutoField(primary_key=True, auto_created=True, editable=False)
|
|
temperature = models.FloatField()
|
|
humidity = models.FloatField()
|
|
created_by = models.ForeignKey(Client, on_delete=models.CASCADE)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
class Meta:
|
|
ordering = ['id']
|
|
|
|
def __str__(self):
|
|
return f'{self.id}: {self.temperature}°C and {self.humidity}% - {self.created_at}'
|
|
|
|
class Moisture(models.Model):
|
|
id = models.AutoField(primary_key=True, auto_created=True, editable=False)
|
|
moisture = models.IntegerField()
|
|
created_by = models.ForeignKey(Client, on_delete=models.CASCADE)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
class Meta:
|
|
ordering = ['id']
|
|
|
|
def __str__(self):
|
|
return f'{self.id}: {self.moisture} - {self.created_at}'
|
|
|
|
class WaterLevel(models.Model):
|
|
id = models.AutoField(primary_key=True, auto_created=True, editable=False)
|
|
waterlevel = models.IntegerField()
|
|
created_by = models.ForeignKey(Client, on_delete=models.CASCADE)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
class Meta:
|
|
ordering = ['id']
|
|
|
|
def __str__(self):
|
|
return f'{self.id}: {self.waterlevel} - {self.created_at}'
|