Ver código fonte

#11685: Clear cached search records for relevant IPAM objects

jeremystretch 3 anos atrás
pai
commit
3e946c78d0
1 arquivos alterados com 28 adições e 0 exclusões
  1. 28 0
      netbox/ipam/migrations/0064_clear_search_cache.py

+ 28 - 0
netbox/ipam/migrations/0064_clear_search_cache.py

@@ -0,0 +1,28 @@
+from django.db import migrations
+
+
+def clear_cache(apps, schema_editor):
+    """
+    Clear existing CachedValues referencing IPAddressFields or IPNetworkFields. (#11658
+    introduced new cache record types for these.)
+    """
+    ContentType = apps.get_model('contenttypes', 'ContentType')
+    CachedValue = apps.get_model('extras', 'CachedValue')
+
+    for model_name in ('Aggregate', 'IPAddress', 'IPRange', 'Prefix'):
+        content_type = ContentType.objects.get(app_label='ipam', model=model_name.lower())
+        CachedValue.objects.filter(object_type=content_type).delete()
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('ipam', '0063_standardize_description_comments'),
+    ]
+
+    operations = [
+        migrations.RunPython(
+            code=clear_cache,
+            reverse_code=migrations.RunPython.noop
+        ),
+    ]