diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 6ba63ab58..6ee71be70 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -43,6 +43,23 @@ class CustomFieldListView(generic.ObjectListView): class CustomFieldView(generic.ObjectView): queryset = CustomField.objects.all() + def get_extra_context(self, request, instance): + related_models = ( + # (DataFile.objects.restrict(request.user, 'view').filter(source=instance), 'source_id'), + ) + + for content_type in instance.content_types.all(): + related_models += ( + content_type.model_class().objects.restrict(request.user, 'view').exclude( + Q(**{f'custom_field_data__{instance.name}': ''}) | + Q(**{f'custom_field_data__{instance.name}': None}) + ), + ) + + return { + 'related_models': related_models + } + @register_model_view(CustomField, 'edit') class CustomFieldEditView(generic.ObjectEditView): diff --git a/netbox/templates/extras/customfield.html b/netbox/templates/extras/customfield.html index b783c8a77..1b3f87a6d 100644 --- a/netbox/templates/extras/customfield.html +++ b/netbox/templates/extras/customfield.html @@ -134,6 +134,24 @@ +