Django某一张表有open_date字段,类型为DateTimeField
假如我们要从excel向数据库导入数据,这一列在excel中以时间格式存储。
我们遍历的时候可以拿到数据
for index, row in df.iterrows():
obj = model.objects.create()
...
open_date = row["open_date"]
如果我们此时直接存储:
obj.open_date = open_date
obj.save()
可以正常运行,但是每一次存储都会弹出warning警告,如果这个excel有很多行,那么这个warning会非常多,把内存撑满。
这个时候找到问题是由于这个从excel中取出的时间没有时区
import pytz
tz = pytz.timezone('Asia/Shanghai')
obj.open_date = tz.localize(open_date)