为了账号安全,请及时绑定邮箱和手机立即绑定

运行命令python manage.py makemigrations不一样,而且报错

错误截图:

http://img1.sycdn.imooc.com//58dd23190001b22f13580456.jpg

正在回答

4 回答

这是因为你的数据库里已经有了一些数据,现在的操作是新添加一列,那么所有的数据后面都会再多一条数据,默认添加新的列的数据不允许为null,而在脚本里pub_time没有设置默认值,“we can't do that”,继续输入选择1 ,马上设置默认值,2,退出重新编写脚本设置默认值/或者在后面添加一个'null=True'(允许为null)

0 回复 有任何疑惑可以回复我~

pub_time = models.DateTimeField(auto_now=True,null=True),改成这样,然后数据迁移,然后原来的文章没有时间显示,后面添加的或修改的就都有时间显示了

0 回复 有任何疑惑可以回复我~

我也出现了这种情况,它意思可能是尝试添加一个没有默认值的变量pub_time,没有被允许,估计版本的原因,把auto_now直接改成null就可以了。然后再python manage.pymakemigrations 、... migrate 就行了

0 回复 有任何疑惑可以回复我~

models.py里有错误

0 回复 有任何疑惑可以回复我~
#1

Chaly 提问者

pub_time = models.DateTimeField(auto_now=True) 添加这句就执行就报这个错误了
2017-04-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
django入门与实践
  • 参与学习       65159    人
  • 解答问题       869    个

手把手带你进入Django开发的大门,充分领略Django的魅力

进入课程

运行命令python manage.py makemigrations不一样,而且报错

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信