45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
|
from django.db import models
|
||
|
|
||
|
|
||
|
class CloudProvider(models.Model):
|
||
|
name = models.CharField(max_length=100)
|
||
|
description = models.TextField(blank=True)
|
||
|
|
||
|
def __str__(self):
|
||
|
return self.name
|
||
|
|
||
|
|
||
|
class Country(models.Model):
|
||
|
name = models.CharField(max_length=100)
|
||
|
code = models.CharField(max_length=2)
|
||
|
|
||
|
class Meta:
|
||
|
verbose_name_plural = "Countries"
|
||
|
|
||
|
def __str__(self):
|
||
|
return self.name
|
||
|
|
||
|
|
||
|
class ServiceLevel(models.Model):
|
||
|
name = models.CharField(max_length=100)
|
||
|
description = models.TextField()
|
||
|
response_time = models.CharField(max_length=50)
|
||
|
|
||
|
def __str__(self):
|
||
|
return self.name
|
||
|
|
||
|
|
||
|
class Service(models.Model):
|
||
|
name = models.CharField(max_length=200)
|
||
|
description = models.TextField()
|
||
|
cloud_provider = models.ForeignKey(CloudProvider, on_delete=models.CASCADE)
|
||
|
service_level = models.ForeignKey(ServiceLevel, on_delete=models.CASCADE)
|
||
|
countries = models.ManyToManyField(Country)
|
||
|
price = models.DecimalField(max_digits=10, decimal_places=2)
|
||
|
features = models.TextField()
|
||
|
created_at = models.DateTimeField(auto_now_add=True)
|
||
|
updated_at = models.DateTimeField(auto_now=True)
|
||
|
|
||
|
def __str__(self):
|
||
|
return self.name
|