File tree 1 file changed +7
-4
lines changed
1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change 1
1
from importlib import import_module
2
2
3
+ from django .utils import formats
3
4
from django import forms
4
5
from django .core .exceptions import (NON_FIELD_ERRORS , ImproperlyConfigured ,
5
6
ValidationError ,)
@@ -91,7 +92,7 @@ def __repr__(self):
91
92
return ''
92
93
93
94
94
- class VersionField (forms .IntegerField ):
95
+ class VersionField (forms .Field ):
95
96
widget = HiddenInput # Default widget to use when rendering this type of Field.
96
97
hidden_widget = HiddenInput # Default widget to use when rendering this as "hidden".
97
98
@@ -116,10 +117,12 @@ def prepare_value(self, value):
116
117
117
118
def to_python (self , value ):
118
119
value = super ().to_python (value )
120
+ if value in self .empty_values :
121
+ return 0
119
122
try :
120
- return int (self ._signer .unsign (value ))
121
- except BadSignature :
122
- raise VersionError (f'Bad signature: { value } ' )
123
+ return int (self ._signer .unsign (str ( value ) ))
124
+ except ( BadSignature , ValueError ) :
125
+ raise VersionError (value )
123
126
124
127
def widget_attrs (self , widget ):
125
128
return {}
You can’t perform that action at this time.
0 commit comments