1. 程式人生 > >Django Sqlite 資料庫,在已有表中新增新欄位

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


這裡寫圖片描述

好,這裡該說一下如何讓新添的欄位可以設定為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