Data model: Use correct link between plan and offering
This commit is contained in:
parent
abf18249bc
commit
d9469938ec
1 changed files with 8 additions and 24 deletions
|
@ -86,30 +86,20 @@ class Plan(models.Model):
|
||||||
# TODO schema
|
# TODO schema
|
||||||
pricing = models.JSONField(verbose_name=_("Pricing"))
|
pricing = models.JSONField(verbose_name=_("Pricing"))
|
||||||
term = models.DurationField(verbose_name=_("Term"))
|
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):
|
def __str__(self):
|
||||||
return self.name
|
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):
|
class ServiceOffering(models.Model):
|
||||||
description = models.TextField(blank=True, verbose_name=_("Description"))
|
description = models.TextField(blank=True, verbose_name=_("Description"))
|
||||||
services = models.ManyToManyField(
|
service = models.ForeignKey(
|
||||||
to="Service",
|
to="Service",
|
||||||
related_name="offerings",
|
related_name="offerings",
|
||||||
verbose_name=_("Services"),
|
verbose_name=_("Services"),
|
||||||
|
@ -119,15 +109,9 @@ class ServiceOffering(models.Model):
|
||||||
related_name="offerings",
|
related_name="offerings",
|
||||||
verbose_name=_("Providers"),
|
verbose_name=_("Providers"),
|
||||||
)
|
)
|
||||||
control_plane = models.ForeignKey(
|
control_plane = models.ManyToManyField(
|
||||||
to="ControlPlane",
|
to="ControlPlane",
|
||||||
on_delete=models.PROTECT,
|
on_delete=models.PROTECT,
|
||||||
related_name="offerings",
|
related_name="offerings",
|
||||||
verbose_name=_("Control plane"),
|
verbose_name=_("Control plane"),
|
||||||
)
|
)
|
||||||
plans = models.ManyToManyField(
|
|
||||||
to="Plan",
|
|
||||||
through="ServiceOfferingPlan",
|
|
||||||
related_name="offerings",
|
|
||||||
verbose_name=_("Plans"),
|
|
||||||
)
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue