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 成功。