我需要将 aDecimalField
从必须更改decimal_places=0
为decimal_places=7
同时保留max_digits=50
. 我认为此列中的所有数字都在 0 到 1,000,000,000 之间。因此,数据迁移可能没有问题。但是,我不确定。
我看过AlterField
文档,我想我找到了源代码。但是,我需要对此进行介绍。是否可以看到生成的 SQL 查询?
我可以想象有几件事会出错:
- 如果与Django/Postgres 不处理的方式
Decimal(decimal_places=0)
不同,则数据删除Decimal(decimal_places=7)
- 如果内部表示保持不变但值以不同的方式解释,则数据更改
- 如果值超出范围,则溢出
- 如果值超出范围,则为NaN / NULL
在我的具体情况下,最后两种情况不应该发生,但我仍然对 Django 迁移如何处理越界情况感兴趣。