Coverage for backend/django/core/plots/Plot.py: 100%

23 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-07-22 05:22 +0000

1from django.db import models 

2from core.auxiliary.models.FlowsheetState import FlowsheetState 

3from core.auxiliary.models.PropertyInfo import PropertyInfo 

4 

5from core.managers import AccessControlManager, AllFlowsheetStatesManager 

6class PlotType(models.TextChoices): 

7 line="line" 

8 scatter="scatter" 

9 

10class Plot(models.Model): 

11 flowsheet_state = models.ForeignKey(FlowsheetState, 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) 

14 

15 created_at = models.DateTimeField(auto_now_add=True) 

16 objects = AccessControlManager() 

17 all_states = AllFlowsheetStatesManager() 

18 

19 

20 

21 

22class Series(models.Model): 

23 flowsheet_state = models.ForeignKey(FlowsheetState, on_delete=models.CASCADE, related_name="GraphsSeries") 

24 label = models.CharField(max_length=256, blank=True) 

25 plot = models.ForeignKey(Plot, on_delete=models.CASCADE, related_name="series", null=True, default=None) 

26 x = models.ForeignKey(PropertyInfo, on_delete=models.SET_NULL, related_name="graph_x", null=True) 

27 y = models.ForeignKey(PropertyInfo, on_delete=models.SET_NULL, related_name="graph_y", null=True) 

28 

29 created_at = models.DateTimeField(auto_now_add=True) 

30 

31 objects = AccessControlManager() 

32 all_states = AllFlowsheetStatesManager() 

33