Coverage for backend/core/plots/Plot.py: 100%
21 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-11-06 23:27 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2025-11-06 23:27 +0000
1from django.db import models
2from core.auxiliary.models.Flowsheet import Flowsheet
3from core.auxiliary.models.PropertyInfo import PropertyInfo
5from core.managers import AccessControlManager
6class PlotType(models.TextChoices):
7 line="line"
8 scatter="scatter"
10class Plot(models.Model):
11 flowsheet = models.ForeignKey(Flowsheet, on_delete=models.CASCADE, related_name="flowsheetGraphs")
12 title = models.CharField(max_length=256, blank=True)
13 plotType = models.CharField(choices=PlotType.choices, default=PlotType.line)
15 created_at = models.DateTimeField(auto_now_add=True)
16 objects = AccessControlManager()
21class Series(models.Model):
22 flowsheet = models.ForeignKey(Flowsheet, on_delete=models.CASCADE, related_name="GraphsSeries")
23 label = models.CharField(max_length=256, blank=True)
24 plot = models.ForeignKey(Plot, on_delete=models.CASCADE, related_name="series", null=True, default=None)
25 x = models.ForeignKey(PropertyInfo, on_delete=models.SET_NULL, related_name="graph_x", null=True)
26 y = models.ForeignKey(PropertyInfo, on_delete=models.SET_NULL, related_name="graph_y", null=True)
28 created_at = models.DateTimeField(auto_now_add=True)
30 objects = AccessControlManager()