如何允许sqlite3存储tzinfo?

时间:2019-04-22 09:25:55

标签: python sqlite pytz

我正试图将tzinfo的{​​{1}}存储到sqlite3表中。

如何使sqlite接受from tzlocal.getlocalzone()类型?

tzinfo

1 个答案:

答案 0 :(得分:0)

在我看来,您想稍后再从您的SQLite数据库中恢复tzinfo。所以答案是你不能。

但是SQLite并不禁止您将blob存储到列中。因此,您可以腌制tzinfo并将其存储,或者组成自己的表示形式(即一串时区信息)并将其存储。当您从数据库中检索时,只需从您的表示中解开或重建tzinfo。

腌制版本在某些情况下可能没有用,特别是您希望在SQL语句中支持某些计算(例如,与给定时区相差1小时之内)。