crate / crate-python

Python DB API client library for CrateDB, using HTTP.
https://cratedb.com/docs/python/
Apache License 2.0
79 stars 31 forks source link

Inserting aware Datetime returns an error. #626

Open MarkRatFelt opened 4 years ago

MarkRatFelt commented 4 years ago

I'm trying to insert some DateTime data to CrateDB, but I'm getting an error.

The datetime I'm trying to insert looks so:

Screen Shot 2020-07-16 at 16 25 41

The column is a Timestamp with time zone column.

But I get this error:

  File "/Users/chuckaguilar/PycharmProjects/postgres-cratedb-migration-tool/venv/lib/python3.7/site-packages/crate/client/http.py", line 82, in default
    delta = o - self.epoch
TypeError: can't subtract offset-naive and offset-aware datetimes

But the CrateJsonEncoder (self.epoch) is naive:

Screen Shot 2020-07-16 at 16 28 44

tzinfo is None

So... it won't work. Either I make my datetime naive, or the self.epoch gotta be aware.

MarkRatFelt commented 4 years ago

It'd work converting it to a string via datetime.strftime("%Y-%m-%dT%H:%M:%S.%f%z")

thanks, @autophagy :)

chaudum commented 3 years ago

Related to crate/sqlalchemy-cratedb#92