diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f29a09eb..75a9b09ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,11 +2,12 @@ v2.5.1 (FUTURE) ## Enhancements -* [#2655](https://github.com/digitalocean/netbox/issues/265) - Add 128GFC Fibrechannel interface type +* [#2655](https://github.com/digitalocean/netbox/issues/2655) - Add 128GFC Fibrechannel interface type ## Bug Fixes * [#2662](https://github.com/digitalocean/netbox/issues/2662) - Fix ImproperlyConfigured exception when rendering API docs +* [#2663](https://github.com/digitalocean/netbox/issues/2663) - Prevent duplicate interfaces from appearing under VLAN members view * [#2666](https://github.com/digitalocean/netbox/issues/2666) - Correct display of length unit in cables list * [#2676](https://github.com/digitalocean/netbox/issues/2676) - Fix exception when passing dictionary value to a ChoiceField * [#2678](https://github.com/digitalocean/netbox/issues/2678) - Fix error when viewing webhook in admin UI without write permission diff --git a/netbox/ipam/models.py b/netbox/ipam/models.py index ca3f812a3..789e65b82 100644 --- a/netbox/ipam/models.py +++ b/netbox/ipam/models.py @@ -812,7 +812,7 @@ class VLAN(ChangeLoggedModel, CustomFieldModel): return Interface.objects.filter( Q(untagged_vlan_id=self.pk) | Q(tagged_vlans=self.pk) - ) + ).distinct() class Service(ChangeLoggedModel, CustomFieldModel): diff --git a/netbox/ipam/tables.py b/netbox/ipam/tables.py index 284bcb4ae..026cbc980 100644 --- a/netbox/ipam/tables.py +++ b/netbox/ipam/tables.py @@ -430,7 +430,7 @@ class VLANDetailTable(VLANTable): class VLANMemberTable(BaseTable): parent = tables.LinkColumn(order_by=['device', 'virtual_machine']) - name = tables.Column(verbose_name='Interface') + name = tables.LinkColumn(verbose_name='Interface') untagged = tables.TemplateColumn( template_code=VLAN_MEMBER_UNTAGGED, orderable=False