ValueError: day is out of range for month on south schemamigration and datamigration

ValueError: day is out of range for month on south schemamigration and datamigration

TL;DR:有没有人见过 south v.0.8.4 导致 schemamigration 和 datamigration 失败引发 ValueError:day is out of 运行ge for month?

我正在开发一个相当大的应用程序,有很多开发人员同时工作 - 所以这很可能是更复杂的事情,而且我在源代码方面可以分享的内容有限代码,所以对于这个粗鲁的问题向所有人道歉。我需要更新一个 CharField 来增加它的最大长度,就像昨天我 运行:

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

昨天创建相关的 table,今天我得到:

ValueError: day is out of range for month

完全没有回溯信息。

所以为了咯咯笑,我 运行 ... datamigration <appname> test --stdout 也一样。我想知道之前是否有人 运行 对此有了解,或者如果没有,是否有人知道让 south 的数据迁移操作更详细的方法,以便我可以更快地在源代码中进行追踪?

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

这实际上可能与您的代码本身没有关系,因为它与今天的日期有关!某个地方你试图获得一个不存在的日期。

一个例子是,如果某处有逻辑可以获取上个月的最后一天,而代码正在查找不存在的 6 月 31 日。

如果不能共享代码,就不可能看到发生了什么,但希望这能为您指明正确的方向。

关闭问题 - 对于可能看到此问题的任何人来说,这确实与它是本月的第一天这一事实有关。问题出在生成迁移文件时填充默认值的函数之一,这只是挖掘源代码直到找到它的问题...