ValueError:南方模式迁移和数据迁移的每月超出范围

时间:2015-07-01 15:40:29

标签: python django django-south

TL; DR:有没有人见过schemamigration和datamigration失败,因为南诉v.8.4.4引发了一个ValueError:day超出了一个月的范围?

我正在开发一个相当大的应用程序,这个应用程序让很多开发人员在同一时间工作 - 所以很有可能这是一个更复杂的东西,而且我的内容有限可以在源代码方面分享,所以对于那些惹人讨厌的问题向所有人道歉。我需要更新CharField以增加其最大长度,就像昨天我跑:

python manage.py schemamigration <appname> update_char_field_ length --auto

虽然它在昨天工作以创建相关表格,但今天我得到了:

ValueError: day is out of range for month

根本没有追溯信息。

因此,对于咯咯笑声,我跑了... datamigration <appname> test --stdout并得到了同样的结果。我想知道是否有人之前遇到过这种情况,或者如果没有,是否有人知道如何让南方的数据迁移更加冗长,以便我可以更快地在源代码中追踪这一点?

奇怪的是,我已经将git中的更改回滚到几天前,并从头开始重新加载数据库快照,但仍然会收到错误。

2 个答案:

答案 0 :(得分:1)

这实际上可能与您的代码本身无关,就像它与今天的日期一样!在某个地方,您正试图获得一个不存在的日期。

一个例子是,如果有某个地方的逻辑可以获得上个月的最后一天,而且代码正在寻找6月31日,那是不存在的。

如果无法分享代码,就无法看到发生了什么,但希望这可以指向正确的方向。

答案 1 :(得分:0)

结束这个问题 - 对于任何可能会看到这个问题的人来说,这确实与这个月的第一个事实有关。问题存在于生成迁移文件时填充默认值的其中一个函数中,只需要挖掘源代码直到我找到它...