mysql - Django 模型中的大整数字段

标签 mysql django

简而言之:如何在 Django 模型中指定 BIGINT?

在我使用 Django(0.97-svn 版本)进行的当前项目中,我将所有模型中的所有整数字段都定义为 IntegerField。在我将 SQLite 用于数据库后端的开发周期中,它完美无缺地工作。然而,当我转而使用 MySQL 时,我注意到对于其中一个 IntegerFields,MySQL 正在截断数据——显然,出于我仍然不知道的原因,SQLite 没有提示。我查看了架构,发现 Django 中的 IntegerField 在 MySQL 中表示为 INT(11) 字段。自然,MySQL 截断数据的原因是因为数据长度超过 11 位。要解决此问题,我必须手动将列更新为 BIGINT(20)。 Django 和 MySQL 与之和平共处。但是每当我重置包含该 BIGINT 模型的应用程序时,Django 再次将其创建为 INT(11)。我看过 Django 文档,但没有找到任何东西。我是否忽略了什么?

谢谢。

最佳答案

BigIntegerField添加到变更集 11887, 2009-12-17 09:10:38 并且是 Django 1.2 及更新版本的一部分。

关于mysql - Django 模型中的大整数字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/283724/

相关文章:

php - mysql 从获取的id中选择id并进行增量操作

python - Django shell 脚本定义错误

mysql为每个关系选择最高记录

MySQL Order By 减慢连接速度

php - 如何查询特定 VARCHAR 字段的长度/值限制?

python - 使用 session 在 Django 中将文件从一个 View 传递到另一个 View

python - 如何在 Django 中将 extra_context 发送到 submit_line.html?

php - 无法为 mysql 声明变量 (whmcs)

python - 如何自定义 Django Rest Framework 序列化器输出?

javascript - 如何从另一个站点安全地将表单发布到 django 站点