我的模型中的数据库中有1/19/2014 4:40
这个值,DateTimeField是否接受Django中的值?因为我试图根据范围过滤我的模型。目前,它是CharField
,我会将其更改为DateTimeField
因为我认为无法按CharField
过滤范围。我是对的吗?
答案 0 :(得分:0)
对于范围过滤,该字段必须以SQL范围查询的格式存储在SQL数据库中。
Char字段只是文本,因此SQL无法知道您查询的范围类型,因为它不理解文本。
因此,您需要将字段转换为DateTimeField。很可能这种迁移无法使用默认设置执行,您需要编写一些自己的迁移逻辑。您可以使用dateutil等帮助程序包。
在模型中创建新字段
迁移数据库
解析所有旧值并存储在新字段中
删除旧字段
将新字段重命名为旧字段