22
22
23
23
24
24
25
- def _get_device_object_type_id () -> list [int ]:
26
- return list (ObjectType .objects .filter (app_label = 'dcim' , model = 'device' ).values_list ("id" , flat = True ))
25
+ # def _get_device_object_type_id() -> list[int]:
26
+ # return list(ObjectType.objects.filter(app_label='dcim', model='device').values_list("id", flat=True))
27
27
28
28
class ConfigDiffBase (SecretsMixin ):
29
29
site = ObjectVar (
@@ -62,7 +62,7 @@ class ConfigDiffBase(SecretsMixin):
62
62
required = False ,
63
63
query_params = {
64
64
"type" : ["longtext" , "text" ],
65
- "object_type_id" : _get_device_object_type_id () ,
65
+ "object_type_id" : None ,
66
66
},
67
67
description = "Define custom field which stores actual configuration of devices" ,
68
68
)
@@ -72,6 +72,13 @@ class ConfigDiffBase(SecretsMixin):
72
72
"Reference the object as <code>{{ object }}</code>." ,
73
73
)
74
74
75
+ def __init__ (self , * args , ** kwargs ):
76
+ super ().__init__ (* args , ** kwargs )
77
+ self .custom_field .query_params ["object_type_id" ] = self ._get_device_object_type_id ()
78
+
79
+ def _get_device_object_type_id (self ) -> list [int ]:
80
+ return list (ObjectType .objects .filter (app_label = 'dcim' , model = 'device' ).values_list ("id" , flat = True ))
81
+
75
82
def run_script (self , data : dict ) -> None :
76
83
devices = self .validate_data (data )
77
84
devices = list (self .get_devices_with_rendered_configs (devices ))
0 commit comments