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

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值