整数超出范围

新手上路,请多包涵

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

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

基本按照52675215334的顺序。

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

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

原文由 user1328021 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 428
2 个回答

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

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

原文由 Óscar López 发布,翻译遵循 CC BY-SA 3.0 许可协议

不要忘记迁移您所做的更改,否则它将不起作用

python manage.py migrate

python manage.py makemigrations

原文由 Faddy18 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题