Django數(shù)據(jù)庫如何在原有表中添加新字段
Django數(shù)據(jù)庫在原有表中添加新字段
(注:本人用的pycharm開發(fā)工具)
1、在你要添加新字段的app的 models.py 文件中添加需要新增的字段(這里新增的是dress字段):
from django.db import models
# Create your models here.
class Test(models.Model):
name=models.CharField(max_length=20)
age=models.IntegerField(blank=True,null=True)
sex=models.CharField(max_length=2)
dress=models.CharField(max_length=1000)2、在工程目錄打開命令行窗口輸入:python manage.py makemigrations AppTest(個人App文件名)
(我的是pycharm,如圖)

3、輸入:1(這里要求你設(shè)置新建字段的默認(rèn)值,它會在新建這個字段的同時把默認(rèn)值也添加上去,)

4、如果不想讓它有值,我們直接輸''(中間沒有空格),一樣能達(dá)到效果,但是不能不設(shè)置默認(rèn)值,(如果是數(shù)值類型呢,默認(rèn)值為 ''不行,如果是年齡,需設(shè)置blank=True和null=True。)
- blank:設(shè)置為True時,字段可以為空。設(shè)置為False時,字段是必須填寫的。字符型字段CharField和TextField是用空字符串來存儲空值的。如果為True,字段允許為空,默認(rèn)不允許.
- null:設(shè)置為True時,django用Null來存儲空值。日期型、時間型和數(shù)字型字段不接受空字符串。所以設(shè)置IntegerField,DateTimeField型字段可以為空時,需要將blank,null均設(shè)為True。如果為True,空值將會被存儲為NULL,默認(rèn)為False。如果想設(shè)置BooleanField為空時可以選NullBooleanField型字段。

5、最后輸入:python manage.py migrate

查看數(shù)據(jù)庫,新字段已經(jīng)加進(jìn)去了,如果你設(shè)置了默認(rèn)值,原來的這些數(shù)據(jù)的值都會設(shè)為你設(shè)置的默認(rèn)值。
Django無法添加新字段,django.db.utils.OperationalError: (1050, "Table app already exists")
要修改的表長這樣,我要添加一個叫做category的字段
class AppInfo(models.Model): ? ? name = models.CharField(max_length=255, null=True) ? ? version = models.CharField(max_length=50, null=True) ? ? category = models.CharField(max_length=30, null=True)##這一行是我要新添加的
無論是python makemigartions 還是python migrate都有問題,上網(wǎng)上查了一圈也都有問題,用了什么--fake也沒用,最后這樣解決了
python manage.py shell
>>> from django.db import connection
>>> cursor = connection.cursor()
>>> cursor.execute('ALTER TABLE appId_appinfo add category varchar(30) default ""')總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python for循環(huán)與getitem的關(guān)系詳解
這篇文章主要介紹了Python for循環(huán)與getitem的關(guān)系詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01
Python如何實(shí)現(xiàn)自動生成指定文件名并自定義后綴名
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)名稱為000- 999-文件的自動生成,并且后綴名可以自定義,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
python中使用xlrd讀excel使用xlwt寫excel的實(shí)例代碼
這篇文章主要介紹了python中使用xlrd讀excel使用xlwt寫excel的實(shí)例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-01-01
運(yùn)用PyTorch動手搭建一個共享單車預(yù)測器
這篇文章主要介紹了運(yùn)用PyTorch動手搭建一個共享單車預(yù)測器,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08

