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

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}'