diff --git a/netbox/templates/utilities/obj_import.html b/netbox/templates/utilities/obj_import.html
index 7c331a2ef..90cb81a61 100644
--- a/netbox/templates/utilities/obj_import.html
+++ b/netbox/templates/utilities/obj_import.html
@@ -44,7 +44,7 @@
{{ field.help_text|default:field.label }}
{% if field.choices %}
- Choices: {{ field.choices|example_choices }}
+ Choices: {{ field|example_choices }}
{% elif field|widget_type == 'dateinput' %}
Format: YYYY-MM-DD
{% elif field|widget_type == 'checkboxinput' %}
diff --git a/netbox/utilities/templatetags/helpers.py b/netbox/utilities/templatetags/helpers.py
index 42e8a277f..b7a40d018 100644
--- a/netbox/utilities/templatetags/helpers.py
+++ b/netbox/utilities/templatetags/helpers.py
@@ -63,19 +63,23 @@ def bettertitle(value):
@register.filter()
-def example_choices(value, arg=3):
+def example_choices(field, arg=3):
"""
Returns a number (default: 3) of example choices for a ChoiceFiled (useful for CSV import forms).
"""
- choices = []
- for id, label in value:
- if len(choices) == arg:
- choices.append('etc.')
+ examples = []
+ if hasattr(field, 'queryset'):
+ choices = [(obj.pk, getattr(obj, field.to_field_name)) for obj in field.queryset[:arg+1]]
+ else:
+ choices = field.choices
+ for id, label in choices:
+ if len(examples) == arg:
+ examples.append('etc.')
break
if not id:
continue
- choices.append(label)
- return ', '.join(choices) or 'None'
+ examples.append(label)
+ return ', '.join(examples) or 'None'
#
|