add consulting partners
This commit is contained in:
parent
022f0ad60f
commit
ca251218e5
8 changed files with 261 additions and 9 deletions
|
@ -68,6 +68,32 @@ class CloudProvider(models.Model):
|
|||
return reverse("services:provider_detail", kwargs={"slug": self.slug})
|
||||
|
||||
|
||||
class ConsultingPartner(models.Model):
|
||||
name = models.CharField(max_length=200)
|
||||
slug = models.SlugField(unique=True)
|
||||
description = ProseEditorField(blank=True)
|
||||
logo = models.ImageField(
|
||||
upload_to="partner_logos/",
|
||||
validators=[validate_image_size],
|
||||
null=True,
|
||||
blank=True,
|
||||
)
|
||||
website = models.URLField(blank=True)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.name)
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("services:partner_detail", kwargs={"slug": self.slug})
|
||||
|
||||
|
||||
class Country(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
code = models.CharField(max_length=2)
|
||||
|
@ -93,6 +119,9 @@ class Service(models.Model):
|
|||
slug = models.SlugField(max_length=250, unique=True)
|
||||
description = ProseEditorField()
|
||||
cloud_provider = models.ForeignKey(CloudProvider, on_delete=models.CASCADE)
|
||||
consulting_partners = models.ManyToManyField(
|
||||
ConsultingPartner, related_name="services", blank=True
|
||||
)
|
||||
service_level = models.ForeignKey(ServiceLevel, on_delete=models.CASCADE)
|
||||
categories = models.ManyToManyField(Category, related_name="services")
|
||||
countries = models.ManyToManyField(Country)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue