Coverage for backend/django/core/auxiliary/models/IndexedItem.py: 100%

19 statements  

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

1from django.db import models 

2 

3from core.managers import AccessControlManager, AllFlowsheetStatesManager 

4from core.auxiliary.models.FlowsheetHistoryModel import FlowsheetHistoryModel 

5 

6 

7class IndexChoices(models.TextChoices): 

8 Time = "time" 

9 SplitterFraction = "splitter_fraction" 

10 Phase = "phase" 

11 Compound = "compound" 

12 

13 

14class IndexedItem(FlowsheetHistoryModel, models.Model): 

15 flowsheet_state = models.ForeignKey( 

16 "FlowsheetState", on_delete=models.CASCADE, related_name="IndexedItems" 

17 ) 

18 owner = models.ForeignKey( 

19 "flowsheetInternals_unitops.SimulationObject", 

20 on_delete=models.CASCADE, 

21 related_name="indexed_items", 

22 null=True, 

23 ) 

24 key = models.JSONField(null=True, blank=True) 

25 displayName = models.CharField(max_length=32, default="") 

26 type = models.CharField(choices=IndexChoices.choices, default=IndexChoices.Time) 

27 

28 created_at = models.DateTimeField(auto_now_add=True) 

29 

30 objects = AccessControlManager() 

31 all_states = AllFlowsheetStatesManager() 

32 

33 class Meta: 

34 ordering = ["created_at"]