Django时区导致的datetime时间比较报错

我们使用python 的datetime模块比较Django数据库Datetime字段的时候,可能会出现报错:

TypeError: can't compare offset-naive and offset-aware datetimes

这是因为两个时间不属于同一类型,offset-naive是不含时区的类型,而offset-aware是有时区类型,两者自然不能比较。
Django默认时区和datetime模块默认的now()时区格式是不一致的,所以才会出现这种问题

解决方案1:

 

 解决方案2:

在比较的时候我们用datetime模块的UTC时间

datetime.utcnow()   # 获取当前UTC时间

这样获取到的时间格式和Django获取到的时间格式是一致的

猜你喜欢

转载自www.cnblogs.com/dongxixi/p/11281616.html