diff --git a/sqlite_utils/db.py b/sqlite_utils/db.py index 1b58f94..414ec97 100644 --- a/sqlite_utils/db.py +++ b/sqlite_utils/db.py @@ -798,6 +798,8 @@ def chunks(sequence, size): def jsonify_if_needed(value): if isinstance(value, (dict, list, tuple)): return json.dumps(value) + elif isinstance(value, (datetime.time, datetime.date, datetime.datetime)): + return value.isoformat() else: return value diff --git a/tests/test_create.py b/tests/test_create.py index a275a7f..04b1fbf 100644 --- a/tests/test_create.py +++ b/tests/test_create.py @@ -111,6 +111,7 @@ def test_create_table_with_not_null(fresh_db): {"create": "Reserved word", "table": "Another"}, [{"name": "create", "type": "TEXT"}, {"name": "table", "type": "TEXT"}], ), + ({"day": datetime.time(11, 0)}, [{"name": "day", "type": "TEXT"}]), ), ) def test_create_table_from_example(fresh_db, example, expected_columns):