Coverage for backend/flowsheetInternals/propertyPackages/models/SimulationObjectPropertyPackages.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-11-06 23:27 +0000

1from django.db import models 

2 

3from core.managers import AccessControlManager 

4 

5class SimulationObjectPropertyPackages(models.Model): 

6 """ 

7 Model stores the connections between simulation objects and property packages 

8 

9 Simulation objects have a many-to-many relationship with property packages. This relationship 

10 also needs a name to identify the property package in the simulation object. 

11 """ 

12 

13 flowsheet = models.ForeignKey("core_auxiliary.Flowsheet", on_delete=models.CASCADE, related_name="PropertyPackages") 

14 simulationObject = models.ForeignKey("flowsheetInternals_unitops.SimulationObject", on_delete=models.CASCADE, related_name='propertyPackages', null=True) 

15 propertyPackage = models.CharField(max_length=64, default="") # currently selected property package name, e.g helmholtz 

16 name = models.CharField(max_length=64, default="") # display name, e.g "hot side" 

17 

18 created_at = models.DateTimeField(auto_now_add=True) 

19 

20 objects = AccessControlManager() 

21 

22 

23 class Meta: 

24 ordering = ['created_at']