Django id整数limi

2024-09-26 22:54:27 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我正在工作的Django项目可能会在某些数据库表中看到许多对象,在短时间内这些对象将超过40000个。在

我使用Sqlite进行开发,Postgresql用于生产。在


Tags: 项目对象django模型数据库sqlitepostgresql短时间
3条回答

加上这个作为答案。Django将其映射到串行列,这意味着最大值在20亿范围内(确切地说是2147483647)。虽然对于大多数应用程序来说这不太可能是一个问题,但是如果您这样做了,您可以将类型改为bigint,这将使您不太可能到达64位int空间的末尾。在

正如其他人提到的使用int还是bigint,分别有2.147.483.648或{}值。在

如果你想超过这些数字,你可以做切分。 简而言之,分片是一种水平分区数据的方法,它将同一表的不同行存储在跨多个数据库的多个表中。在

Django有许多可用的切分库(例如django-sharding

正在为Django 2.x添加新信息:


Djangos^{}是一个^{}IntegerField的文档说明:

Values from -2.147.483.648 to 2.147.483.647 are safe in all databases supported by Django.

默认情况下,AutoField只使用正数,因此值可以从1到{}。在


因为Django 1.10还有一个^{},它与^{}非常相似。 BigAutoField的文档说明:

A 64-bit integer [...] that is guaranteed to fit numbers from 1 to 9.223.372.036.854.775.807.

现在,文档并没有为这个字段显式地说明它,但是通过使用单词is garanteed to fit,我假设这适用于Django支持的所有数据库。在

相关问题 更多 >

    热门问题