diff --git a/src/linkahead/common/models.py b/src/linkahead/common/models.py index 96851f34bd7558e03fb60d92ca001d8cd7c43171..a8144286fdacefacadf2b823160e0eb9bfe00c77 100644 --- a/src/linkahead/common/models.py +++ b/src/linkahead/common/models.py @@ -39,6 +39,7 @@ import re import sys from builtins import str from copy import deepcopy +from datetime import date, datetime from functools import cmp_to_key from hashlib import sha512 from os import listdir @@ -50,7 +51,6 @@ from typing import TYPE_CHECKING from typing import Any, Final, Literal, Optional, TextIO, Union if TYPE_CHECKING: - from datetime import datetime from .datatype import DATATYPE from tempfile import _TemporaryFileWrapper from io import BufferedWriter @@ -1687,6 +1687,9 @@ def _parse_value(datatype, value): if isinstance(value, str): return value + if datatype == DATETIME and (isinstance(value, date) or isinstance(value, datetime)): + return value + # deal with collections if isinstance(datatype, str): matcher = re.compile(r"^(?P<col>[^<]+)<(?P<dt>[^>]+)>$")