我有一个只有一个字段的模型。姓名。
class City(models.Model): <br>
name = models.CharField(max_length=30)
Djangoid
自己设置,所以我最终得到了SQL 中id
的一个description
字段。
但该id
字段始终以 1 递增。我想从 1000 开始,然后以 1 递增。
有没有办法在 Django 中做到这一点?
我知道这个问题已经过时了,但是我将这个方法发布给那些在搜索结果中找到这个问题并且需要对更新的 Django 版本(即 Django >= 1.8)有一个好的解决方案的人:
按照此处记录的方式创建数据迁移。此解决方案将在您迁移应用程序时运行(并且可能作为部署策略的一部分),并允许您编写满足数据库特定需求的代码。
我认为这是在 Django >= 1.7 中为自动递增数据库字段设置初始值的最简洁方法,因为它利用了标准 Django 迁移,并且不会以将来可能无法使用的方式劫持框架的其他功能。
您可以使用初始数据从 1000 给您的模型 ID。我认为如果第一个模型 PK 是 1000,django 将继续使用 1001。
或者您创建一个名为 custom_id 的属性,该属性始终为 1000+id。这样,您的数据库中有一个额外的字段,但它会起作用。