Coverage for utilities/object_types.py: 25%
14 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-10 18:35 +0000
1from .string import title
3__all__ = (
4 'object_type_identifier',
5 'object_type_name',
6)
9def object_type_identifier(object_type):
10 """
11 Return a "raw" ObjectType identifier string suitable for bulk import/export (e.g. "dcim.site").
12 """
13 return f'{object_type.app_label}.{object_type.model}'
16def object_type_name(object_type, include_app=True):
17 """
18 Return a human-friendly ObjectType name (e.g. "DCIM > Site").
19 """
20 try:
21 meta = object_type.model_class()._meta
22 app_label = title(meta.app_config.verbose_name)
23 model_name = title(meta.verbose_name)
24 if include_app:
25 return f'{app_label} > {model_name}'
26 return model_name
27 except AttributeError:
28 # Model does not exist
29 return f'{object_type.app_label} > {object_type.model}'