将django默认pk的默认类型AutoField 更改为BigAutoField (Changing django default pk with AutoField to BigAutoField)
我的模型有一个默认的PK与AutoField(整数),但后来我发现我需要使用BigAutoField! 此外我还有其他模型参考学生模型的数据::如何将pk字段更改为BigAutoField并反映其他参考模
方法一:
在settings中设置
# Default primary key field type # https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
方法二:
在字段定义中设置primary_key=True
:
id = models.BigAutoField(primary_key=True)
如果你想在多个模型中使用它,你也可以创建一个抽象模型,让别人继承它:
class BigPkAbastract(models.Model):
id = models.BigAutoField(primary_key=True)
class Meta:
abstract = True
在您的其他型号中:Set primary_key=True
in the field definition: