Coverage for project/models/version.py: 100.00%

17 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-06-06 22:17 +0000

1from django.db import models 

2 

3from core.models import core as core_models 

4 

5 

6class VersionData(core_models.CoreModel): 

7 name = models.CharField(max_length=255) 

8 description = models.TextField(blank=True, null=True, default="") 

9 label = models.CharField(max_length=255) 

10 release_date = models.DateField(blank=True, null=True, default="") 

11 is_active = models.BooleanField(default=True) 

12 

13 

14class VersionActiveManager(models.Manager): 

15 def get_queryset(self): 

16 return super().get_queryset().filter(deleted=None) 

17 

18 

19class Version(core_models.CoreModel): 

20 class Meta: 

21 ordering = ['current__name'] 

22 

23 active_objects = VersionActiveManager() 

24 

25 current = models.ForeignKey(VersionData, on_delete=models.CASCADE) 

26 project = models.ForeignKey('project.Project', on_delete=models.CASCADE) 

27 

28 def __str__(self): 

29 return self.current.name