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中的更改回滚到几天前,并从头开始重新加载数据库快照,但仍然会收到错误。
答案 0 :(得分:1)
这实际上可能与您的代码本身无关,就像它与今天的日期一样!在某个地方,您正试图获得一个不存在的日期。
一个例子是,如果有某个地方的逻辑可以获得上个月的最后一天,而且代码正在寻找6月31日,那是不存在的。
如果无法分享代码,就无法看到发生了什么,但希望这可以指向正确的方向。
答案 1 :(得分:0)
结束这个问题 - 对于任何可能会看到这个问题的人来说,这确实与这个月的第一个事实有关。问题存在于生成迁移文件时填充默认值的其中一个函数中,只需要挖掘源代码直到我找到它...