Skip to content

Commit 7cfd559

Browse files
committed
Fix for issue #240 + test.
1 parent a39e06f commit 7cfd559

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

flask_restx/fields.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,8 @@ class Float(NumberMixin, Raw):
481481

482482
def format(self, value):
483483
try:
484+
if value is None:
485+
return self.default
484486
return float(value)
485487
except (ValueError, TypeError) as ve:
486488
raise MarshallingError(ve)

tests/test_fields.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,12 @@ def test_with_default(self):
333333
assert not field.required
334334
assert field.__schema__ == {"type": "number", "default": 0.5}
335335

336+
def test_none_uses_default(self):
337+
field = fields.float(default=0.5)
338+
assert not field.required
339+
assert field.__schema__ == {"type": "number", "default": 0.5}
340+
assert field.format(None) == 0.5
341+
336342
@pytest.mark.parametrize(
337343
"value,expected", [("-3.13", -3.13), (str(-3.13), -3.13), (3, 3.0),]
338344
)

0 commit comments

Comments
 (0)