2
JSONBオブジェクト(JSONを格納するための構造化フォーマット)にdatetime
オブジェクトをSQLAlchemyを使用してPostgreSQL 9.5.2に含めることは可能ですか?PostgreSQLのJSONBのdatetimeオブジェクト
from sqlalchemy.dialects.postgresql import JSONB
from datetime import datetime
class Object(Base):
__tablename__ = 'object'
id = Column(Integer, primary_key=True)
attributes = Column(JSONB, nullable=False)
とデータベースに挿入します。
with transaction.manager:
object = Object(attributes = {'name': 'miss piggy',
'created': datetime.now()})
session.add(object)
session.commit()
は私に次のエラーを与える:
StatementError: (builtins.TypeError)
datetime.datetime(2016, 4, 7, 9, 51, 9, 893315) is not JSON serializable
[SQL: 'INSERT INTO object (attributes) VALUES (%(attributes)s)RETURNING object.id']
[parameters: [
{'attributes': {'name': 'miss piggy',
'created': datetime.datetime(2016, 4, 7, 9, 51, 9, 893315)}}]]
いいえ、直接ではなく。文字列(または辞書)として格納してから、それが日時であることを特定するための特殊な解析ロジックを実行できます。 – univerio