From 14744da8f6f045dfe38b16ba40a6f1e96fe9b114 Mon Sep 17 00:00:00 2001 From: John Anderson Date: Fri, 15 May 2020 02:45:48 -0400 Subject: [PATCH] fixes #4647 - caching invalidation related to assinging new IP addresses to interfaces --- docs/release-notes/version-2.8.md | 2 ++ netbox/ipam/forms.py | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-2.8.md b/docs/release-notes/version-2.8.md index cb611f25f..ed5f01709 100644 --- a/docs/release-notes/version-2.8.md +++ b/docs/release-notes/version-2.8.md @@ -5,6 +5,8 @@ v2.8.5 (FUTURE) ### Bug Fixes * [#3304](https://github.com/netbox-community/netbox/issues/3304) - Fix caching invalidation issue related to device/virtual machine primary IP addresses +* [#4647](https://github.com/netbox-community/netbox/issues/4647) - Fix caching invalidation issue related to assinging new IP addresses to interfaces + --- diff --git a/netbox/ipam/forms.py b/netbox/ipam/forms.py index f5fd6e5f8..5906e19a4 100644 --- a/netbox/ipam/forms.py +++ b/netbox/ipam/forms.py @@ -618,7 +618,12 @@ class IPAddressForm(BootstrapMixin, TenancyForm, ReturnURLForm, CustomFieldModel if self.instance and self.instance.interface: self.fields['interface'].queryset = Interface.objects.filter( device=self.instance.interface.device, virtual_machine=self.instance.interface.virtual_machine - ) + ).prefetch_related( + 'device__primary_ip4', + 'device__primary_ip6', + 'virtual_machine__primary_ip4', + 'virtual_machine__primary_ip6', + ) # We prefetch the primary address fields to ensure cache invalidation does not balk on the save() else: self.fields['interface'].choices = []