解决Django-makemigrations-error

本文介绍了在使用Django进行数据库迁移时遇到的错误,并提供了两种解决方案。一种是将字段设置为允许空值,另一种是提供默认值。文章还解释了不同设置对前端显示的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

使用Django,创建迁移文件的时候,提示如下报错↓:

python manage.py makemigrations
**You are trying to add a non-nullable field ‘phone’ to student without a default; we can’t do that (the database needs something to populate existing rows).
Please select a fix:**
1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
2) Quit, and let me add a default in models.py

解决(models.py):

  • 方法一
phone = models.CharField(max_length=128, verbose_name='电话',null=True,blank=True)
  • 方法二
phone = models.CharField(max_length=128, verbose_name='电话',default='blank')

区别:

设置default=’blank’ 时,会在前端phone 一栏,表中默认填充 blank (如下图↓).

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值