Django框架-python manage.py makemigrations提示

2021/9/18 11:04:50

本文主要是介绍Django框架-python manage.py makemigrations提示,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Django框架-python manage.py makemigrations提示


问题描述:在执行 Django 迁移时,提示:
You are trying to add a non-nullable field 'record_id' to record without a default; we can't do that (the database needs something to populate existing rows).
翻译:你在尝试向 record表 添加一个非空字段 record_id,我们无法做到(数据库需要向已存在行存入一些数据)


Django 执行数据迁移提示
这里提供了两个选项:

  • 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

选择退出,并且手动在模型中添加一个默认值

这里推荐使用第二种方式,自己手动到提示信息所指向的那个模型中的那个字段,去添加 default 参数。

class record(models.Model):  # 记录
    record_id = models.CharField('记录编号', default='', max_length=20, primary_key=True)  # 记录编号
  • 为什么不用第一种:
    选择第一种方式,他会让你输入 python 代码,去设置默认值,并且这个默认值会被直接应用到迁移文件中,不会在 models.py 文件中修改,这样对其他人查看你的 models.py 文件很不友好。
    在这里插入图片描述


这篇关于Django框架-python manage.py makemigrations提示的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程