mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-07-25 02:14:31 +02:00
Store decimal.Decimal in DB as FLOAT, closes #110
This commit is contained in:
parent
e8c57e09b6
commit
af3f81b540
2 changed files with 6 additions and 0 deletions
|
|
@ -1,6 +1,7 @@
|
|||
from .utils import sqlite3, OperationalError, suggest_column_types, column_affinity
|
||||
from collections import namedtuple, OrderedDict
|
||||
import datetime
|
||||
import decimal
|
||||
import hashlib
|
||||
import itertools
|
||||
import json
|
||||
|
|
@ -42,6 +43,7 @@ COLUMN_TYPE_MAPPING = {
|
|||
datetime.datetime: "TEXT",
|
||||
datetime.date: "TEXT",
|
||||
datetime.time: "TEXT",
|
||||
decimal.Decimal: "FLOAT",
|
||||
None.__class__: "TEXT",
|
||||
# SQLite explicit types
|
||||
"TEXT": "TEXT",
|
||||
|
|
@ -1325,6 +1327,8 @@ def chunks(sequence, size):
|
|||
|
||||
|
||||
def jsonify_if_needed(value):
|
||||
if isinstance(value, decimal.Decimal):
|
||||
return float(value)
|
||||
if isinstance(value, (dict, list, tuple)):
|
||||
return json.dumps(value, default=repr)
|
||||
elif isinstance(value, (datetime.time, datetime.date, datetime.datetime)):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue