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)