在 Django 中更改自动主键字段的名称

Gar*_* BN 4 django model primary-key

默认情况下,Django 为每个模型提供以下字段:

id = models.AutoField(primary_key=True)

https://docs.djangoproject.com/en/1.10/topics/db/models/#automatic-primary-key-fields

这很棒也很方便。但是,我想知道是否可以将id字段的名称更改为信息更丰富的名称,例如item_id。如果这确实可能,我该怎么做?

编辑:从答案中我了解到,如果不明确设置主键(这是我想知道的),就不可能做到这一点。

我的模型有很多类,我认为给出更多信息性的字段名称会更清晰。真的有关系吗?

nik*_*k_m 9

你只要参考来源

如果您想指定自定义主键,只需primary_key=True在您的字段之一上指定 。如果 Django 发现您已明确设置Field.primary_key,则不会添加自动id 列。

class MyModel(models.Model):
    item_id = models.AutoField(primary_key=True)
Run Code Online (Sandbox Code Playgroud)