Просмотр исходного кода

Fixes #4183: Fix representation of NaturalOrderingField values in change log

Jeremy Stretch 6 лет назад
Родитель
Сommit
5b505b21c8
2 измененных файлов с 6 добавлено и 2 удалено
  1. 1 0
      docs/release-notes/version-2.7.md
  2. 5 2
      netbox/utilities/fields.py

+ 1 - 0
docs/release-notes/version-2.7.md

@@ -10,6 +10,7 @@
 * [#2519](https://github.com/netbox-community/netbox/issues/2519) - Avoid race condition when provisioning "next available" IPs/prefixes via the API
 * [#4168](https://github.com/netbox-community/netbox/issues/4168) - Role is not required when creating a virtual machine
 * [#4175](https://github.com/netbox-community/netbox/issues/4175) - Fix potential exception when bulk editing objects from a filtered list
+* [#4183](https://github.com/netbox-community/netbox/issues/4183) - Fix representation of NaturalOrderingField values in change log
 
 ---
 

+ 5 - 2
netbox/utilities/fields.py

@@ -56,8 +56,11 @@ class NaturalOrderingField(models.CharField):
         """
         Generate a naturalized value from the target field
         """
-        value = getattr(model_instance, self.target_field)
-        return self.naturalize_function(value, max_length=self.max_length)
+        original_value = getattr(model_instance, self.target_field)
+        naturalized_value = self.naturalize_function(original_value, max_length=self.max_length)
+        setattr(model_instance, self.attname, naturalized_value)
+
+        return naturalized_value
 
     def deconstruct(self):
         kwargs = super().deconstruct()[3]  # Pass kwargs from CharField