From 7dc71d2719eed77686a234af7d63046e0bbfd1ab Mon Sep 17 00:00:00 2001 From: Konsta Vesterinen Date: Thu, 24 Oct 2013 11:29:04 +0300 Subject: [PATCH] Made NumberRangeType use ScalarCoercible --- sqlalchemy_utils/types/number_range.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sqlalchemy_utils/types/number_range.py b/sqlalchemy_utils/types/number_range.py index 4b0a771..2c68de1 100644 --- a/sqlalchemy_utils/types/number_range.py +++ b/sqlalchemy_utils/types/number_range.py @@ -1,5 +1,6 @@ import six from sqlalchemy import types +from .scalar_coercible import ScalarCoercible class NumberRangeRawType(types.UserDefinedType): @@ -10,7 +11,7 @@ class NumberRangeRawType(types.UserDefinedType): return 'int4range' -class NumberRangeType(types.TypeDecorator): +class NumberRangeType(types.TypeDecorator, ScalarCoercible): impl = NumberRangeRawType def process_bind_param(self, value, dialect): @@ -26,7 +27,7 @@ class NumberRangeType(types.TypeDecorator): return NumberRange.from_normalized_str(value) return value - def coercion_listener(self, target, value, oldvalue, initiator): + def _coerce(self, value): if value is not None and not isinstance(value, NumberRange): if isinstance(value, six.string_types): value = NumberRange.from_normalized_str(value)