diff --git a/startup_scripts/020_tenant_groups.py b/startup_scripts/020_tenant_groups.py index 65cf155..5a80d7e 100644 --- a/startup_scripts/020_tenant_groups.py +++ b/startup_scripts/020_tenant_groups.py @@ -8,7 +8,17 @@ tenant_groups = load_yaml("/opt/netbox/initializers/tenant_groups.yml") if tenant_groups is None: sys.exit() +optional_assocs = { + 'parent': (TenantGroup, 'name'), +} + for params in tenant_groups: + for assoc, details in optional_assocs.items(): + if assoc in params: + model, field = details + query = { field: params.pop(assoc) } + params[assoc] = model.objects.get(**query) + tenant_group, created = TenantGroup.objects.get_or_create(**params) if created: