Przeglądaj źródła

Correct test failure and add check for related_model

Daniel Sheppard 10 miesięcy temu
rodzic
commit
97d426d205
1 zmienionych plików z 5 dodań i 3 usunięć
  1. 5 3
      netbox/utilities/fields.py

+ 5 - 3
netbox/utilities/fields.py

@@ -1,9 +1,9 @@
 from collections import defaultdict
 
 from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
+from django.core import exceptions
 from django.db import models
-from django.db.models import ForeignKey, ManyToOneRel
-from django.forms import JSONField
+from django.db.models import ForeignKey, ManyToOneRel, JSONField
 from django.utils.safestring import mark_safe
 from django.utils.translation import gettext_lazy as _
 
@@ -192,11 +192,13 @@ class CounterCacheField(models.BigIntegerField):
 
 
 class JSONModelField(JSONField):
-    def __init__(self, related_model=None, *args, **kwargs):
+    def __init__(self, related_model, *args, **kwargs):
         """
         Extract the related model from the kwargs and set after instantiation
         """
         super().__init__(*args, **kwargs)
+        if related_model is None or isinstance(related_model, models.Model):
+            raise exceptions.FieldError('related_model must be set or be an instance of Model')
         self.related_model = related_model
 
     def from_db_value(self, value, expression, connection):