From 5aae5a68f231ef21b826bd452b14a03c78ca14b7 Mon Sep 17 00:00:00 2001 From: Abhimanyu Saharan Date: Sat, 14 Jan 2023 17:40:41 +0530 Subject: [PATCH] added ct_field and fk_field null validation --- netbox/netbox/models/__init__.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/netbox/netbox/models/__init__.py b/netbox/netbox/models/__init__.py index 85f872136..5e8528677 100644 --- a/netbox/netbox/models/__init__.py +++ b/netbox/netbox/models/__init__.py @@ -67,6 +67,15 @@ class NetBoxModel(CloningMixin, NetBoxFeatureSet, models.Model): for field in self._meta.get_fields(): if isinstance(field, GenericForeignKey): + if getattr(self, field.ct_field) is None and getattr(self, field.fk_field) is not None: + raise ValidationError({ + field.ct_field: "This field cannot be null.", + }) + if getattr(self, field.fk_field) is None and getattr(self, field.ct_field) is not None: + raise ValidationError({ + field.fk_field: "This field cannot be null.", + }) + if getattr(self, field.ct_field) and getattr(self, field.fk_field): klass = getattr(self, field.ct_field).model_class() try: