File tree Expand file tree Collapse file tree 2 files changed +22
-2
lines changed Expand file tree Collapse file tree 2 files changed +22
-2
lines changed Original file line number Diff line number Diff line change @@ -159,11 +159,14 @@ def _post_clean(self):
159
159
self ._update_errors (e )
160
160
161
161
# Call more stuff that ModelForm usually does.
162
+ exclude = self ._get_validation_exclusions ()
162
163
try :
163
- self .instance .full_clean (validate_unique = False )
164
+ self .instance .full_clean (exclude = exclude , validate_unique = False )
164
165
except ValidationError as e :
165
166
self ._update_errors (e )
166
- self .validate_unique ()
167
+
168
+ if self ._validate_unique :
169
+ self .validate_unique ()
167
170
168
171
def save (self , commit = True ):
169
172
# We override this hook too, because we have already saved our model at this point.
Original file line number Diff line number Diff line change @@ -83,6 +83,23 @@ def test_create_link(self):
83
83
self .assertTrue (edit_form .is_valid (), edit_form .errors )
84
84
self .assertFalse (edit_form .has_changed (), edit_form .changed_data )
85
85
86
+ def test_create_link_error (self ):
87
+ # Create an illegal loop-back link
88
+ as_a = AS .objects .first ()
89
+ form_data = dict (
90
+ type = Link .PROVIDER ,
91
+ active = True ,
92
+ bandwidth = 1234 ,
93
+ mtu = 2345 ,
94
+ from_host = as_a .hosts .first ().pk ,
95
+ from_public_port = 50000 ,
96
+ to_host = as_a .hosts .first ().pk ,
97
+ to_public_port = 50000 ,
98
+ )
99
+ form = LinkAdminForm (data = form_data )
100
+ self .assertFalse (form .is_valid ())
101
+ self .assertIn ('Loop AS-link' , str (form .errors ['__all__' ][0 ]))
102
+
86
103
def test_render_edit (self ):
87
104
ases = AS .objects .iterator ()
88
105
as_a = next (ases )
You can’t perform that action at this time.
0 commit comments