File tree 1 file changed +7
-1
lines changed
1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change 1
1
from django .conf import settings
2
2
from django .contrib .contenttypes .fields import GenericForeignKey
3
+ from django .core .exceptions import ObjectDoesNotExist
3
4
from django .core .validators import ValidationError
4
5
from django .db import models
5
6
from django .utils .translation import gettext_lazy as _
@@ -85,11 +86,16 @@ def clean(self):
85
86
86
87
if ct_value and fk_value :
87
88
klass = getattr (self , field .ct_field ).model_class ()
88
- if not klass .objects .filter (pk = fk_value ).exists ():
89
+ try :
90
+ obj = klass .objects .get (pk = fk_value )
91
+ except ObjectDoesNotExist :
89
92
raise ValidationError ({
90
93
field .fk_field : f"Related object not found using the provided value: { fk_value } ."
91
94
})
92
95
96
+ # update the GFK field value
97
+ setattr (self , field .name , obj )
98
+
93
99
94
100
#
95
101
# NetBox internal base models
You can’t perform that action at this time.
0 commit comments