From 913a1635d1d93b2fc71943270d9f4b4ceb45556f Mon Sep 17 00:00:00 2001 From: nebaskov Date: Sat, 10 Feb 2024 13:08:30 +0300 Subject: [PATCH] fix: check default value existence if field value is None --- src/infi/clickhouse_orm/fields.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/infi/clickhouse_orm/fields.py b/src/infi/clickhouse_orm/fields.py index 6e73e3fe..af8e6ebf 100644 --- a/src/infi/clickhouse_orm/fields.py +++ b/src/infi/clickhouse_orm/fields.py @@ -142,6 +142,8 @@ def to_python(self, value, timezone_in_use): return value if isinstance(value, bytes): return value.decode('UTF-8') + if value is None and self.default is not None: + return self.default raise ValueError('Invalid value for %s: %r' % (self.__class__.__name__, value)) @@ -295,6 +297,8 @@ class BaseIntField(Field): ''' def to_python(self, value, timezone_in_use): try: + if value is None and self.default is not None: + return int(self.default) return int(value) except: raise ValueError('Invalid value for %s - %r' % (self.__class__.__name__, value)) @@ -371,6 +375,8 @@ class BaseFloatField(Field): def to_python(self, value, timezone_in_use): try: + if value is None and self.default is not None: + return float(self.default) return float(value) except: raise ValueError('Invalid value for %s - %r' % (self.__class__.__name__, value))