django中接受的日期时间字段值

时间:2015-03-25 07:11:27

标签: django datetime

我的模型中的数据库中有1/19/2014 4:40这个值,DateTimeField是否接受Django中的值?因为我试图根据范围过滤我的模型。目前,它是CharField,我会将其更改为DateTimeField因为我认为无法按CharField过滤范围。我是对的吗?

1 个答案:

答案 0 :(得分:0)

对于范围过滤,该字段必须以SQL范围查询的格式存储在SQL数据库中。

Char字段只是文本,因此SQL无法知道您查询的范围类型,因为它不理解文本。

因此,您需要将字段转换为DateTimeField。很可能这种迁移无法使用默认设置执行,您需要编写一些自己的迁移逻辑。您可以使用dateutil等帮助程序包。

  • 在模型中创建新字段

  • 迁移数据库

  • 解析所有旧值并存储在新字段中

  • 删除旧字段

  • 将新字段重命名为旧字段