修改了Article的model后,怎么更新到数据库

来源:3-3 创建博客文章模型

提拉米糖

2019-05-29 14:51

第一次建model时,漏了最后的括号:

title = models.TextField()

加上后出现错误:

OperationalError at /admin/blog/article/

no such column: blog_article.title

重新添加括号后,尝试    python manage.py makemigrations  但是出现如下问题:

You are trying to add a non-nullable field 'title' to article 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

此时选择1)也没有解决,应该怎么解决?

写回答 关注

1回答

  • 提拉米糖
    2019-05-29 15:00:13

    解决了:在该修改后模型后,第二次同步数据库时title字段不能为空。如果第一次就创建title字段,则无影响,因为该表没有现有的行。如果数据表第一次已经创建并且已经在表插入数据,则必须定义一个默认值来填充已有的行, 否则数据库会因为违反数据的完整性而不接受数据表更改。

    慕粉1426...

    太棒了!!

    2019-12-30 13:43:27

    共 1 条回复 >

三小时带你入门Django框架 新版上架

Python开发上手Web框架的必备课程,三小时带你入门Django框架。

25587 学习 · 248 问题

查看课程

相似问题