Coverage for cluster / forms.py: 100%

14 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-24 12:43 +0000

1from .models import Model 

2from sm.forms import SMForm, SMFormDisabled 

3from server.models import Model as ServerModel 

4 

5from django.forms import ModelMultipleChoiceField 

6 

7 

8class Form(SMForm): 

9 """ 

10 Form providing an extra field; All ServerModels ordered by cluster and 

11 hostname, additionally sets the initial list in __init__() 

12 """ 

13 

14 server_set = ModelMultipleChoiceField( 

15 label="Server", 

16 queryset=ServerModel.objects.all().order_by("-cluster", "hostname"), 

17 ) 

18 

19 def __init__(self, *args, **kwargs): 

20 """ 

21 Set initial list of servers, since this is a reverse model relation, 

22 this is done manually here 

23 """ 

24 super().__init__(*args, **kwargs) 

25 

26 self.fields["server_set"].required = False 

27 self.fields["server_set"].initial = self.instance.server_set.all().values_list( 

28 "id", flat=True 

29 ) 

30 

31 class Meta(SMForm.Meta): 

32 model = Model 

33 

34 

35class FormDisabled(Form, SMFormDisabled): 

36 pass