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

来源:互联网 发布:金蝶软件投诉电话 编辑:程序博客网 时间:2024/06/01 10:38
lmb@lmb-Think:~/bbs02$ python manage.py  makemigrationsYou 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.pySelect an option: 1Please enter the default value now, as valid PythonThe 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 tagslmb@lmb-Think:~/bbs02$ python manage.py migrateOperations to perform:  Synchronize unmigrated apps: staticfiles, messages, ckeditor  Apply all migrations: admin, web, contenttypes, auth, sessionsSynchronizing 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 成功。


原创粉丝点击