2
Ist es möglich, ein Objekt datetime
in einem JSONB-Objekt (ein strukturiertes Format zum Speichern von JSON) in PostgreSQL 9.5.2 mit SQLAlchemy.Datetime-Objekt in JSONB in PostgreSQL
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)
und einfügen in die Datenbank:
with transaction.manager:
object = Object(attributes = {'name': 'miss piggy',
'created': datetime.now()})
session.add(object)
session.commit()
gibt mir die folgende Fehlermeldung:
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)}}]]
Nein, nicht direkt. Sie können es als String (oder dict) speichern und dann eine spezielle Parsing-Logik ausführen, um zu bestimmen, dass es sich um eine Datetime handelt. – univerio