Tac*_*hon 10 python sqlite django django-postgresql
Django模型或数据库后端中的AutoField是否有限制?
我正在研究的Django项目可能会在某些数据库表中看到很多对象,这些对象会在很短的时间内超过40000.
我正在使用Sqlite for dev和Postgresql进行生产.
添加这个作为答案.Django将其映射到串行列,这意味着最大值在20亿范围内(准确地说是2,147,483,647).虽然对于大多数应用程序来说这不太可能是一个问题,但如果你这样做,你可以改变类型而不是变成bigint,这将使你很可能无法达到64位int空间的末尾.
为添加新信息Django 2.x:
Djangos AutoField是一个IntegerField。文档IntegerField说:
从
-2.147.483.648到的值2.147.483.647在Django支持的所有数据库中都是安全的。
AutoField默认情况下仅使用正数,因此值可以从1到2.147.483.647。
由于Django 1.10还有一个BigAutoField,与之非常相似BigIntegerField。文档BigAutoField说:
保证适合从
1到数字的64位整数[...]9.223.372.036.854.775.807。
现在,文档并没有在此字段中明确说明它,而是使用单词is garanteed to fit,我认为这适用于Django支持的所有数据库。
| 归档时间: |
|
| 查看次数: |
3332 次 |
| 最近记录: |