Data model: Use correct link between plan and offering

This commit is contained in:
Tobias Kunze 2025-03-16 08:37:03 +01:00
parent abf18249bc
commit d9469938ec

View file

@ -86,30 +86,20 @@ class Plan(models.Model):
# TODO schema
pricing = models.JSONField(verbose_name=_("Pricing"))
term = models.DurationField(verbose_name=_("Term"))
service_offering = models.ForeignKey(
to="ServiceOffering",
on_delete=models.PROTECT,
related_name="plans",
verbose_name=_("Service offering"),
)
def __str__(self):
return self.name
class ServiceOfferingPlan(models.Model):
offering = models.ForeignKey(
to="ServiceOffering",
on_delete=models.CASCADE,
related_name="offering_plans",
verbose_name=_("Offering"),
)
plan = models.ForeignKey(
to="Plan",
on_delete=models.CASCADE,
related_name="offering_plans",
verbose_name=_("Plan"),
)
pricing = models.JSONField(verbose_name=_("Pricing"))
class ServiceOffering(models.Model):
description = models.TextField(blank=True, verbose_name=_("Description"))
services = models.ManyToManyField(
service = models.ForeignKey(
to="Service",
related_name="offerings",
verbose_name=_("Services"),
@ -119,15 +109,9 @@ class ServiceOffering(models.Model):
related_name="offerings",
verbose_name=_("Providers"),
)
control_plane = models.ForeignKey(
control_plane = models.ManyToManyField(
to="ControlPlane",
on_delete=models.PROTECT,
related_name="offerings",
verbose_name=_("Control plane"),
)
plans = models.ManyToManyField(
to="Plan",
through="ServiceOfferingPlan",
related_name="offerings",
verbose_name=_("Plans"),
)