Skip to content

Commit 1672109

Browse files
committed
Update forms.py
1 parent a2c009e commit 1672109

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/concurrency/forms.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from importlib import import_module
22

3+
from django.utils import formats
34
from django import forms
45
from django.core.exceptions import (NON_FIELD_ERRORS, ImproperlyConfigured,
56
ValidationError,)
@@ -91,7 +92,7 @@ def __repr__(self):
9192
return ''
9293

9394

94-
class VersionField(forms.IntegerField):
95+
class VersionField(forms.Field):
9596
widget = HiddenInput # Default widget to use when rendering this type of Field.
9697
hidden_widget = HiddenInput # Default widget to use when rendering this as "hidden".
9798

@@ -116,10 +117,12 @@ def prepare_value(self, value):
116117

117118
def to_python(self, value):
118119
value = super().to_python(value)
120+
if value in self.empty_values:
121+
return 0
119122
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)
123126

124127
def widget_attrs(self, widget):
125128
return {}

0 commit comments

Comments
 (0)