Django Sqlite 数据库,在已有表中添加新字段

Django 使用默认的 sqlite 数据库,想在已经创建的表中添加一个新的字段,操作很简单。

1、直接在你要添加新字段的app的 models.py 文件中添加,如下:

# -*- coding:utf-8 -*-
from __future__ import unicode_literals

from django.db import models

class Blog(models.Model):
	name = models.CharField(max_length=100)
	tagline = models.TextField()
	email = models.CharField(max_length=30) # 要将要添加的新字段 1
		
	def __str__(self):
		return self.name

**2、然后在dos窗口中输入:python manage.py makemigrations **
这里写图片描述

3、输入:1 (这里要求你设置新建字段的默认值,它会在新建这个字段的同时把默认值也添加上去,)
这里写图片描述

4、如果不想让他有值,我们直接输 ‘’(中间没有空格),一样能达到效果,但是不能不设置默认值,那么问题来了,如果是数值类型呢,默认值为 ‘’ 显然不行,设为0嘛,如果是年龄有不合适,怎么办呢?不急,我们下边会说到。先把剩下步骤完成先。
这里写图片描述

5、最后一步,输入:python manage.py migrate
这里写图片描述

**查看数据库,新字段email已经加进来了,如果你设置了默认值,原来的这些数据的Email的值都会设为你设置的默认值。这个可视化工具下载的地址:**http://download.csdn.net/download/liangshilin/10144260
这里写图片描述

好,这里该说一下如何让新添的字段可以设置为null了,其实很简单,如下 age字段,将 ‘blank=True,null=True’ 添加到括号里就行了,然后只需重复上面两个步骤: python manage.py makemigrations -> python manage.py migrate 就能添加新字段了,如果不是数值型,添加 ‘blank=True’ 就可省略设置默认值那步骤。

# -*- coding:utf-8 -*-
from __future__ import unicode_literals

from django.db import models

class Blog(models.Model):
	name = models.CharField(max_length=100)
	tagline = models.TextField()
	email = models.CharField(max_length=30) # 要将要添加的新字段 1
	
	age = models.IntegerField(blank=True,null=True) # 新添加字段 2
		
	def __str__(self):
		return self.name

更多推荐
MybatisHelperPro <<<<自己开发的一个Mybatis反编译插件,能快速生成代码,有兴趣可以看看

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值