我的 models.py 中有两个模型(UserAddress 和 CustomUser),CustomUser 中的字段用户地址是多对多字段,但我决定将其更改为外键字段。但是当我运行 python manage.py make migrations 时,它要求我选择一个选项:
我该怎么办:您正在尝试将 customuser 上的可为空字段“电子邮件”更改为不可为空而没有默认值;我们不能这样做(数据库需要一些东西来填充现有的行)。请选择一个修复:
- 现在提供一次性默认值(将在所有现有行上设置此列的空值)
- 暂时忽略,让我自己处理带有 NULL 的现有行(例如,因为您添加了 RunPython 或 RunSQL 操作来处理先前数据迁移中的 NULL 值)
- 退出,让我在 models.py 中添加一个默认值
这是我的 models.py 文件:
class UserAddress(models.Model):
city = models.CharField(max_length=100)
address = models.CharField(max_length=200)
zip_code = models.CharField(max_length=15, blank=True)
def __str__(self):
return str(self.id)
class CustomUser(AbstractUser):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
email = models.EmailField(unique=True)
user_address = models.ForeignKey(UserAddress, on_delete=models.CASCADE)