Я использую основную библиотеку SQLAlchemy для доступа к некоторой базе данных PostgreSQL. Рассмотрим У меня есть следующая таблица:Использование пользовательского кодировщика JSON для реализации PostgreSQL JSONB для SQLAlchemy
create table foo (j jsonb);
И следующий код Python:
from decimal import *
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey, DateTime
from sqlalchemy.dialects.postgresql import JSONB
metadata = MetaData(schema="public")
foo = Table('foo', metadata,Column('f', JSONB))
d = Decimal(2)
ins = foo.insert().values(j = {'d': d})
# assuming engine is a valid sqlalchemy's connection
engine.execute(ins)
Это последнее предложение не может со следующей ошибкой:
StatementError("(builtins.TypeError) Decimal('2') is not JSON serializable",)
Именно поэтому я прошу это вопрос: есть ли способ указать пользовательский кодер для SQLAchemy для использования при кодировании json-данных на диалект PostgreSQL?
Высокими. Пропущена эта часть документации. Попробуем завтра и примите ответ. Благодаря!! –