django id整数限制

Tac*_*hon 10 python sqlite django django-postgresql

Django模型或数据库后端中的AutoField是否有限制?

我正在研究的Django项目可能会在某些数据库表中看到很多对象,这些对象会在很短的时间内超过40000.

我正在使用Sqlite for dev和Postgresql进行生产.

Chr*_*ers 7

添加这个作为答案.Django将其映射到串行列,这意味着最大值在20亿范围内(准确地说是2,147,483,647).虽然对于大多数应用程序来说这不太可能是一个问题,但如果你这样做,你可以改变类型而不是变成bigint,这将使你很可能无法达到64位int空间的末尾.


Ral*_*alf 6

为添加新信息Django 2.x


Djangos AutoField是一个IntegerField。文档IntegerField说:

-2.147.483.648到的值2.147.483.647在Django支持的所有数据库中都是安全的。

AutoField默认情况下仅使用正数,因此值可以从12.147.483.647


由于Django 1.10还有一个BigAutoField,与之非常相似BigIntegerField。文档BigAutoField说:

保证适合从1到数字的64位整数[...] 9.223.372.036.854.775.807

现在,文档并没有在此字段中明确说明它,而是使用单词is garanteed to fit,我认为这适用于Django支持的所有数据库。