From 409cadf67aa37c3bf9e42585b81ce408e0ad110e Mon Sep 17 00:00:00 2001 From: Brian Tiemann Date: Tue, 2 Sep 2025 14:43:31 -0400 Subject: [PATCH] Add get_table_column_field for BooleanFieldType and get_display_value for MultiObjectFieldType --- netbox_custom_objects/field_types.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/netbox_custom_objects/field_types.py b/netbox_custom_objects/field_types.py index c390b33..6a6ce43 100644 --- a/netbox_custom_objects/field_types.py +++ b/netbox_custom_objects/field_types.py @@ -28,6 +28,7 @@ DateTimePicker, ) from utilities.templatetags.builtins.filters import linkify, render_markdown +from netbox.tables.columns import BooleanColumn from netbox_custom_objects.constants import APP_LABEL @@ -64,6 +65,9 @@ def _resolve_model(self, model): class FieldType: def get_display_value(self, instance, field_name): + """ + This value is used as the object title in the Custom Object detail view. + """ return getattr(instance, field_name) def get_model_field(self, field, **kwargs): @@ -237,6 +241,9 @@ def get_form_field(self, field, **kwargs): widget=forms.Select(choices=choices), ) + def get_table_column_field(self, field, **kwargs): + return BooleanColumn() + class DateFieldType(FieldType): def get_model_field(self, field, **kwargs): @@ -824,6 +831,10 @@ def get_form_field(self, field, for_csv_import=False, **kwargs): def get_filterform_field(self, field, **kwargs): return None + def get_display_value(self, instance, field_name): + field = getattr(instance, field_name) + return ", ".join(str(s) for s in field.all()) + def get_table_column_field(self, field, **kwargs): return tables.ManyToManyColumn(linkify_item=True, orderable=False)