diff --git a/netbox/templates/generic/object_edit.html b/netbox/templates/generic/object_edit.html
index 965749a6d..7056256ec 100644
--- a/netbox/templates/generic/object_edit.html
+++ b/netbox/templates/generic/object_edit.html
@@ -30,14 +30,53 @@
{% endif %}
{% block form %}
-
-
{{ obj_type|capfirst }}
+ {% if form.Meta.fieldsets %}
+ {# Render grouped fields accoring to Form #}
+ {% for group, fields in form.Meta.fieldsets %}
+
+
{{ group }}
+
+ {% for name in fields %}
+ {% render_field form|getfield:name %}
+ {% endfor %}
+
+
+ {% endfor %}
+ {% if form.custom_fields %}
+
+
Custom Fields
- {% block form_fields %}
- {% render_form form %}
- {% endblock %}
+ {% render_custom_fields form %}
+
+ {% endif %}
+ {% if form.tags %}
+
+
Tags
+
+ {% render_field form.tags %}
+
+
+ {% endif %}
+ {% if form.comments %}
+
+
Comments
+
+ {% render_field form.comments %}
+
+
+ {% endif %}
+ {% else %}
+ {# Render all fields in a single group #}
+
+
{{ obj_type|capfirst }}
+
+ {% block form_fields %}
+ {% render_form form %}
+ {% endblock %}
+
+ {% endif %}
{% endblock %}
diff --git a/netbox/utilities/templatetags/form_helpers.py b/netbox/utilities/templatetags/form_helpers.py
index d3451ce86..9d46e8c37 100644
--- a/netbox/utilities/templatetags/form_helpers.py
+++ b/netbox/utilities/templatetags/form_helpers.py
@@ -4,6 +4,14 @@ from django import template
register = template.Library()
+@register.filter()
+def getfield(form, fieldname):
+ """
+ Return the specified field of a Form.
+ """
+ return form[fieldname]
+
+
@register.inclusion_tag('utilities/render_field.html')
def render_field(field, bulk_nullable=False):
"""