Python 使用Peewee和SQLite格式化日期和时间
我正在使用Peewee访问SQLite数据库。如何以以下格式保存时间戳Python 使用Peewee和SQLite格式化日期和时间,python,sqlite,datetime,peewee,Python,Sqlite,Datetime,Peewee,我正在使用Peewee访问SQLite数据库。如何以以下格式保存时间戳 '%Y-%m-%d %H:%M:%S' # year-month-day hour-minute-second (基本上:只需裁剪出默认情况下存在的微秒) 编辑:我能够通过在类定义中使用以下内容来实现这一点: created = DateTimeField(default=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S)) 然而,我仍然很想知道是否有一种“内置”的方
'%Y-%m-%d %H:%M:%S' # year-month-day hour-minute-second
(基本上:只需裁剪出默认情况下存在的微秒)
编辑:我能够通过在类定义中使用以下内容来实现这一点:
created = DateTimeField(default=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S))
然而,我仍然很想知道是否有一种“内置”的方式可以使用“formats”参数对Peewee执行此操作。这实际上不起作用,因为时间戳是在导入时(或声明时)计算的。Peewee实际上并不关心进入数据库的格式,因为它只接受python datetime对象并让pysqlite转换它
如果需要,最好的方法是对
DateTimeField
进行子类化,并重写db\u value
方法。它确实有效。转租是否可以在不向datetime.now追加()的情况下工作?default=datetime.datetime.now()
——这将只计算一次,而不是每次创建对象时。这就是我说它不起作用的意思。好的,谢谢你提醒我!我还没意识到。所以子类化是必要的。我们都需要同样的东西,所以我们都需要子类化?不能在peewee
级别执行吗?