您的位置:首页 > 数据库

django1.8 修改数据库 时间字段 遇到非空问题的解决办法

2017-09-16 17:33 537 查看
lmb@lmb-Think:~/bbs02$ python manage.py  makemigrations
You are trying to add a non-nullable field 'update_time' to tags 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
Select an option: 1
Please enter the default value now, as valid Python
The datetime and django.utils.timezone modules are available, so you can do e.g. timezone.now()
>>> timezone.now()
Migrations for 'web':
0021_tags_update_time.py:
- Add field update_time to tags
lmb@lmb-Think:~/bbs02$ python manage.py migrate
Operations to perform:
Synchronize unmigrated apps: staticfiles, messages, ckeditor
Apply all migrations: admin, web, contenttypes, auth, sessions
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
Rendering model states... DONE
Applying web.0021_tags_update_time... OK

class Tags(models.Model):
'''
标签表
'''
tagname = models.CharField(u"关键字",max_length=20)
num = models.CharField(u"频率",max_length=100)
update_time = models.DateTimeField(u"更新时间",auto_now=True)

def __unicode__(self):
return self.tagname

makemigrations 时遇到错误:

新增 update_time 字段时更新数据库遇到提示如下:(update_time 字段非空字段)

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 
这时  选择 1

输入 timezone.now()添加当前时间入库
然后执行 migrate 成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐