d645cd5536af2acc25a00ac3ef571eb3c52d87df
[pharos-tools.git] / pharos-dashboard / dashboard / models.py
1 from django.contrib.auth.models import User
2 from django.db import models
3
4 from jenkins.models import JenkinsSlave
5
6
7 class Resource(models.Model):
8     id = models.AutoField(primary_key=True)
9     name = models.CharField(max_length=100, unique=True)
10     description = models.CharField(max_length=300, blank=True, null=True)
11     url = models.CharField(max_length=100, blank=True, null=True)
12     owner = models.ForeignKey(User)
13     slave = models.ForeignKey(JenkinsSlave, on_delete=models.DO_NOTHING, null=True)
14
15     class Meta:
16         db_table = 'resource'
17
18     def __str__(self):
19         return self.name
20
21
22 class Server(models.Model):
23     id = models.AutoField(primary_key=True)
24     resource = models.ForeignKey(Resource, on_delete=models.CASCADE)
25     name = models.CharField(max_length=100, blank=True)
26     model = models.CharField(max_length=100, blank=True)
27     cpu = models.CharField(max_length=100, blank=True)
28     ram = models.CharField(max_length=100, blank=True)
29     storage = models.CharField(max_length=100, blank=True)
30
31     class Meta:
32         db_table = 'server'
33
34     def __str__(self):
35         return self.name