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(這里要求你設置新建字段的默認值,它會在新建這個字段的同時把默認值也添加上去,)
4、如果不想讓它有值,我們直接輸''(中間沒有空格),一樣能達到效果,但是不能不設置默認值,(如果是數(shù)值類型呢,默認值為 ''不行,如果是年齡,需設置blank=True和null=True。)
- blank:設置為True時,字段可以為空。設置為False時,字段是必須填寫的。字符型字段CharField和TextField是用空字符串來存儲空值的。如果為True,字段允許為空,默認不允許.
- null:設置為True時,django用Null來存儲空值。日期型、時間型和數(shù)字型字段不接受空字符串。所以設置IntegerField,DateTimeField型字段可以為空時,需要將blank,null均設為True。如果為True,空值將會被存儲為NULL,默認為False。如果想設置BooleanField為空時可以選NullBooleanField型字段。
5、最后輸入:python manage.py migrate
查看數(shù)據(jù)庫,新字段已經加進去了,如果你設置了默認值,原來的這些數(shù)據(jù)的值都會設為你設置的默認值。
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都有問題,上網上查了一圈也都有問題,用了什么--fake也沒用,最后這樣解決了
python manage.py shell >>> from django.db import connection >>> cursor = connection.cursor() >>> cursor.execute('ALTER TABLE appId_appinfo add category varchar(30) default ""')
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python實現(xiàn)輸入的數(shù)據(jù)在地圖上生成熱力圖效果
今天小編就為大家分享一篇python實現(xiàn)輸入的數(shù)據(jù)在地圖上生成熱力圖效果,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12用python wxpy管理微信公眾號并利用微信獲取自己的開源數(shù)據(jù)
這篇文章主要介紹了用python wxpy管理微信公眾號并利用微信獲取自己的開源數(shù)據(jù),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07python 解決selenium 中的 .clear()方法失效問題
這篇文章主要介紹了python 解決selenium 中的 .clear()方法失效問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Python調用百度OCR實現(xiàn)圖片文字識別的示例代碼
這篇文章主要介紹了Python調用百度OCR實現(xiàn)圖片文字識別的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07