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

Remove unused CustomFieldModel class

Jeremy Stretch 5 лет назад
Родитель
Сommit
3f216fa4a3
2 измененных файлов с 1 добавлено и 53 удалено
  1. 1 2
      netbox/extras/models/__init__.py
  2. 0 51
      netbox/extras/models/customfields.py

+ 1 - 2
netbox/extras/models/__init__.py

@@ -1,5 +1,5 @@
 from .change_logging import ObjectChange
-from .customfields import CustomField, CustomFieldModel
+from .customfields import CustomField
 from .models import (
     ConfigContext, ConfigContextModel, CustomLink, ExportTemplate, ImageAttachment, JobResult, Report, Script,
     Webhook,
@@ -10,7 +10,6 @@ __all__ = (
     'ConfigContext',
     'ConfigContextModel',
     'CustomField',
-    'CustomFieldModel',
     'CustomLink',
     'ExportTemplate',
     'ImageAttachment',

+ 0 - 51
netbox/extras/models/customfields.py

@@ -1,11 +1,9 @@
 import re
-from collections import OrderedDict
 from datetime import datetime, date
 
 from django import forms
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.postgres.fields import ArrayField
-from django.core.serializers.json import DjangoJSONEncoder
 from django.core.validators import RegexValidator, ValidationError
 from django.db import models
 from django.utils.safestring import mark_safe
@@ -18,55 +16,6 @@ from utilities.querysets import RestrictedQuerySet
 from utilities.validators import validate_regex
 
 
-class CustomFieldModel(BigIDModel):
-    """
-    Abstract class for any model which may have custom fields associated with it.
-    """
-    custom_field_data = models.JSONField(
-        encoder=DjangoJSONEncoder,
-        blank=True,
-        default=dict
-    )
-
-    class Meta:
-        abstract = True
-
-    @property
-    def cf(self):
-        """
-        Convenience wrapper for custom field data.
-        """
-        return self.custom_field_data
-
-    def get_custom_fields(self):
-        """
-        Return a dictionary of custom fields for a single object in the form {<field>: value}.
-        """
-        fields = CustomField.objects.get_for_model(self)
-        return OrderedDict([
-            (field, self.custom_field_data.get(field.name)) for field in fields
-        ])
-
-    def clean(self):
-        super().clean()
-
-        custom_fields = {cf.name: cf for cf in CustomField.objects.get_for_model(self)}
-
-        # Validate all field values
-        for field_name, value in self.custom_field_data.items():
-            if field_name not in custom_fields:
-                raise ValidationError(f"Unknown field name '{field_name}' in custom field data.")
-            try:
-                custom_fields[field_name].validate(value)
-            except ValidationError as e:
-                raise ValidationError(f"Invalid value for custom field '{field_name}': {e.message}")
-
-        # Check for missing required values
-        for cf in custom_fields.values():
-            if cf.required and cf.name not in self.custom_field_data:
-                raise ValidationError(f"Missing required custom field '{cf.name}'.")
-
-
 class CustomFieldManager(models.Manager.from_queryset(RestrictedQuerySet)):
     use_in_migrations = True