From 962eebf6e7c887d8b962097bc33e6dd255fe52c6 Mon Sep 17 00:00:00 2001 From: Konsta Vesterinen Date: Tue, 14 Jan 2014 12:24:16 +0200 Subject: [PATCH] Lazy init interval classes --- sqlalchemy_utils/types/range.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/sqlalchemy_utils/types/range.py b/sqlalchemy_utils/types/range.py index ed57a39..271aae8 100644 --- a/sqlalchemy_utils/types/range.py +++ b/sqlalchemy_utils/types/range.py @@ -165,20 +165,31 @@ class IntRangeType(RangeType): """ impl = INT4RANGE - interval_class = intervals.IntInterval + + def __init__(self, *args, **kwargs): + super(IntRangeType, self).__init__(*args, **kwargs) + self.interval_class = intervals.IntInterval class DateRangeType(RangeType): impl = DATERANGE - interval_class = intervals.DateInterval + def __init__(self, *args, **kwargs): + super(DateRangeType, self).__init__(*args, **kwargs) + self.interval_class = intervals.DateInterval class NumericRangeType(RangeType): impl = NUMRANGE - interval_class = intervals.DecimalInterval + + def __init__(self, *args, **kwargs): + super(DateRangeType, self).__init__(*args, **kwargs) + self.interval_class = intervals.DecimalInterval class DateTimeRangeType(RangeType): impl = TSRANGE - interval_class = intervals.DateTimeInterval + + def __init__(self, *args, **kwargs): + super(DateRangeType, self).__init__(*args, **kwargs) + self.interval_class = intervals.DateTimeInterval