170 похожих чатов

Народ, я тут чет подзастрял вот с такой фигней на

алхимии. Мне в фастапи прилетают строковые даты в формате ISO-8601 по UTC, то есть с суффиксом Z (это формат такой, сво тут не при чем).

2022-06-28T19:33:26.711Z

Фастапи + пайдентик правильно это распаршевают и декодируют вот в подобное

datetime.datetime(2022, 6, 28, 19, 33, 26, 711000, tzinfo=datetime.timezone.utc)

В модели бд у меня написано вот так:

class Entity(Base):
...
timestamp = Column(DateTime(timezone=True))

И при сохранении данных через алхимию получаю вот такую ошибку:

invalid input for query argument $3: datetime.datetime(2022, 6, 28, 19, 33, 26, 711000, tzinfo=datetime.timezone.utc) (can't subtract offset-naive and offset-aware datetimes)

Пробовал определить поле вот так:

class Entity(Base):
...
timestamp = Column(DateTime)

результат тот же. По тексту ошибки в сети написаны какие-то костыли по конвертации времени со смещением, полученного из бд, но у меня проблема обратная - не записывается в бд. В доке что-то тоже ничего вменяемого не нашел. Куда смотреть?

17 ответов

14 просмотров

Меня смущает вычитание там

Tom-Cauf Автор вопроса
Tishka17
Меня смущает вычитание там

Меня тоже, но я операции вычитания не применяю.

Tom-Cauf Автор вопроса
Tishka17
Покажи больше Трейса

Тебе какого именно куска? Он строк на 400

Tom Cauf
Тебе какого именно куска? Он строк на 400

Ну хотя бы где видно что в качестве $3 летит

Вообще ещё квери, ты делаешь merge?

Tom-Cauf Автор вопроса
Tishka17
Ну хотя бы где видно что в качестве $3 летит

Так сразу после двоеточия значение же datetime и стоит. Это и есть значение третьего аргумента

А какой коннектор?

Tom-Cauf Автор вопроса
Tishka17
Вообще ещё квери, ты делаешь merge?

Эммм. Нет. Это просто SELECT. Аргументы все в WHERE-кондишен определены. Сейчас скину кусок

Tom-Cauf Автор вопроса
Tom-Cauf Автор вопроса
Tishka17
Вообще ещё квери, ты делаешь merge?

SELECT ... WHERE entity.id = %s AND entity.name = %s AND entity.timestamp = %s LIMIT %s OFFSET %s

Tom Cauf
SELECT ... WHERE entity.id = %s AND entity.name = ...

Это кажется не сохранение

Tom-Cauf Автор вопроса
Tishka17
Это кажется не сохранение

Неа, я наебнулся и написал неправильно то место, где возникает ошибка. Это запрос на проверку условий существования. Не суть. Сперва запрашиваем определенное количество записей и проверяем, что среди них нет того, что нужно добавить.

Tom Cauf
Неа, я наебнулся и написал неправильно то место, г...

Странно это всё, проверь тип колонки в бд

Tom-Cauf Автор вопроса
Tishka17
Странно это всё, проверь тип колонки в бд

Ага, я алембиком накатывал бд без таймзоны.

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Всем привет!) я тут новенький и пытаюсь освоить evolution методом тыка. У меня при переходе между папками файлов выскакивают вот такие уведомления Можете подсказать как их от...
Диман Samoed
10
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Карта сайта