gpt4 book ai didi

django - 您正在尝试在没有默认值的情况下将不可空字段 'id' 添加到 contact_info

转载 作者:太空狗 更新时间:2023-10-29 17:52:50 25 4
gpt4 key购买 nike

我正在使用命令 python manage.py makemigrations

但是,我得到这个错误:

You are trying to add a non-nullable field 'id' to contact_info
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)
2) Quit, and let me add a default in models.py

这是模型.py:

class Document(models.Model):
docfile = models.FileField(upload_to='documents/')


class contact_number(models.Model):
contact_numbers = models.CharField(max_length=13)

class contact_address(models.Model):
address = models.CharField(max_length=100)
city = models.CharField(max_length=50)
state = models.CharField(max_length=50)
zip = models.CharField(max_length=5)

class contact_info(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
email = models.EmailField()
contact_numbers = models.ManyToManyField(contact_number)
addresses = models.ManyToManyField(contact_address)

最佳答案

当一个不同的字段被标记为主键时会发生这种情况 primary_key=True 早些时候你正在删除它(在这种情况下 django 试图添加一个 id primary键)。

Django 要求主键的默认值似乎是一个错误。

要解决此问题,请按照下列步骤操作:

  1. 在 makemigrations 期间出现提示时提供随机默认值。

  2. 转到生成的迁移文件(在 your_app\migrations\ 下并删除 default=x,,x 是您在步骤 1 中提供的随机值.

  3. 当您查看迁移文件时,请确保操作顺序合理(例如,在添加另一个主键之前删除/更改一个主键)。保存并关闭。

  4. 照常迁移。

关于django - 您正在尝试在没有默认值的情况下将不可空字段 'id' 添加到 contact_info,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32991965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com