From 044beb23982d411be6fe640716b1b693df0f7189 Mon Sep 17 00:00:00 2001 From: sanjana Date: Wed, 13 Feb 2019 11:38:00 +0530 Subject: [PATCH] Fixes: #4485 Adding setter to should_evaluate_none property --- lib/sqlalchemy/sql/sqltypes.py | 4 ++++ test/sql/test_types.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/lib/sqlalchemy/sql/sqltypes.py b/lib/sqlalchemy/sql/sqltypes.py index 8798f5ad77..d23d696437 100644 --- a/lib/sqlalchemy/sql/sqltypes.py +++ b/lib/sqlalchemy/sql/sqltypes.py @@ -2216,6 +2216,10 @@ class JSON(Indexable, TypeEngine): def should_evaluate_none(self): return not self.none_as_null + @should_evaluate_none.setter + def should_evaluate_none(self, value): + self.none_as_null = value + @util.memoized_property def _str_impl(self): return String(_expect_unicode=True) diff --git a/test/sql/test_types.py b/test/sql/test_types.py index dc75e1b14a..fdd3f594df 100644 --- a/test/sql/test_types.py +++ b/test/sql/test_types.py @@ -249,6 +249,9 @@ class AdaptTest(fixtures.TestBase): or t1.__dict__[k] is None ) + eval_none = t1.should_evaluate_none + eq_(t1.evaluates_none().should_evaluate_none, not eval_none) + def test_python_type(self): eq_(types.Integer().python_type, int) eq_(types.Numeric().python_type, decimal.Decimal) -- 2.47.3