From deeb6f14897512dec99137ece655f0a0a95c062b Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 8 Sep 2026 16:05:02 -0700 Subject: [PATCH] cleanup --- netbox/circuits/models/circuits.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/netbox/circuits/models/circuits.py b/netbox/circuits/models/circuits.py index 1a1f43b63..b0a420571 100644 --- a/netbox/circuits/models/circuits.py +++ b/netbox/circuits/models/circuits.py @@ -456,19 +456,14 @@ class CircuitTermination( if circuit is None: return - if only_if_references is not None: - fields = { - field_name: value - for field_name, value in fields.items() - if getattr(circuit, f'{field_name}_id') == only_if_references - } + def needs_write(field_name, value): + current = getattr(circuit, f'{field_name}_id') + if current == value: + return False + # Match what on_delete=SET_NULL would have cleared + return only_if_references is None or current == only_if_references - # Skip fields which already hold the intended value - fields = { - field_name: value - for field_name, value in fields.items() - if getattr(circuit, f'{field_name}_id') != value - } + fields = {name: value for name, value in fields.items() if needs_write(name, value)} if not fields: return