From 5d1b53e6780ee9b7ba0d89f050dadc063f52bc3c Mon Sep 17 00:00:00 2001 From: Benjamin Scharf Date: Tue, 25 May 2021 21:43:47 -0500 Subject: [PATCH 1/2] Resolve issue #277; test for resolution. --- flask_restx/fields.py | 2 ++ tests/test_fields.py | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/flask_restx/fields.py b/flask_restx/fields.py index 031fdd61..ef357df6 100644 --- a/flask_restx/fields.py +++ b/flask_restx/fields.py @@ -481,6 +481,8 @@ class Float(NumberMixin, Raw): def format(self, value): try: + if value is None: + return self.default return float(value) except (ValueError, TypeError) as ve: raise MarshallingError(ve) diff --git a/tests/test_fields.py b/tests/test_fields.py index e54fb6a9..ca291d44 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -333,6 +333,12 @@ def test_with_default(self): assert not field.required assert field.__schema__ == {"type": "number", "default": 0.5} + def test_default_on_none(self): + field = fields.Float(default=0.5) + assert not field.required + assert field.__schema__ == {"type": "number", "default": 0.5} + self.assert_field(field, None, 0.5) + @pytest.mark.parametrize( "value,expected", [("-3.13", -3.13), (str(-3.13), -3.13), (3, 3.0),] ) From 46867e71e7f956479261bb1de9a81222447c7e1c Mon Sep 17 00:00:00 2001 From: Benjamin Scharf Date: Tue, 25 May 2021 21:44:05 -0500 Subject: [PATCH 2/2] Ignore .venv virtual environment file. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b8f00fed..b03bf592 100644 --- a/.gitignore +++ b/.gitignore @@ -65,6 +65,7 @@ node_modules # pyenv .python-version +.venv # Jet Brains .idea