22

integer out of range尝试将数据库从 SQLite 迁移到 PostgreSQL 时出现错误。

我想我已经查明了问题所在:我的IntegerField模型中的一个字段中有一些巨大的整数。

基本上按52675215334的顺序。

当我将此值更改为 1 之类的小数字,然后尝试迁移我的数据库时,一切都很好。

除了 IntegerField 之外,我还应该使用其他数据类型来存储这些大值吗?

4

3 回答 3

34

如果整数那么大,请尝试使用BigIntegerField 。从文档中:

一个 64 位整数,很像 IntegerField,除了它保证适合从 -9223372036854775808 到 9223372036854775807 的数字。管理员将其表示为<input type="text">(单行输入)。

于 2012-07-02T23:50:04.463 回答
0

试试这个

将 models.IntegerField( )更改为models.BigIntegerField()

class TableName(models.Model):
    ColumnName= models.BigIntegerField(default=0)
于 2022-01-20T11:26:47.983 回答
0

不要忘记迁移所做的更改,否则将无法正常工作

python manage.py migrate

python manage.py makemigrations

于 2022-02-11T11:27:07.303 回答