1. models.py中增加了欄位,django中怎樣更新
如果你是使用django1.7以上,那麼自帶migrations功能,可以在生成遷移文件後,打開0001_initial.py(類似這樣的文件, 需要與你對應的app關聯起來,就是models所在的路徑下中的migrations文件夾),然後修改裡面中models中對應的class model(),然後找到類似這個operations = [
migrations.CreateModel(...),
# mysql specific
migrations.RunSQL('alter table 表名 auto_increment=9995'),#資料庫不同,語句可能不同
]
其實這個可以通過修改資料庫中的表進行操作。這樣比較快。自己多找點資料吧。
2. django1.8更改了model後要怎樣重建資料庫
alter table TabName Modify (ColName ColNewType);不過需要注意的是欄位中如果已經存在值,需要確認ColNewType兼容這些值類型,否則資料庫不允許修改
3. django1.7開發,修改了欄位null=True ,然後啟動資料庫修改manage.py dbshell 提示mysql不是內部命令
都1.7了啊,乖乖···
首先你看你mysql-server裝了沒,不是client哦
rpm -qa | grep mysql
4. Django 資料庫添加欄位
你說對了,假設你用資料庫管理工具的話,你要先選擇你工程所對應的資料庫,比如mysql,直接用控制台操作的話,你需要先執行use yourdb,而用manage.py dbshell會自動鏈接到你用的資料庫,省了輸入用戶名密碼和use yourdb的過程。
5. django中怎麼動態操作資料庫欄位
django的ORM系統不支持修改刪除欄位的操作,也就是說你在寫模型model文件的時候,比如說定義了這個user表,然後包含欄位telphone定義,你一旦執行了manage.py syncdb 這個操作,就把表結構往資料庫寫死了,如果你之是刪除了model文件的telphone,資料庫是不被重新修改的。這個時候必須用原生SQL解決,也就是說自己寫SQL語句讓django執行,這樣的話會出很多問題,也就是說你執行了alter table users drop column telphone之後,你的model文件不知道你已經對users表結構做了修改,這樣會出直接導致django應用的崩潰。所以動態欄位不好做。也可能是我才疏學淺,沒太理解,也許有高人能做到。不過面對ORM這樣的盡量別刪除欄位。
6. 請教一個 django 資料庫查詢欄位重命名的問題
種辦法, 自己挑一種吧第一種:
users = User.objects.filter(coreuserwxprofile__nickname__contains=q).values('id', 'coreuserwxprofile__nickname')[0:20]
users = [{'id': _.id, 'nick': _.coreuserwxprofile__nickname} for _ in users]
第二種:
7. django更新模型的部分欄位怎麼做
在class里更新欄位
運行python manage.py makemigrations記錄遷移
運行Pythonmanage.py migrate 將更新實施到資料庫表中
這個過程中可能會出現很多問題,比如已有的數據記錄怎麼更新,關聯的對象怎麼處理。詳細可參考劉江的博客和教程:liujiangblog-com
8. django修改了model會自動修改資料庫嗎
目前到django1.7 為止
修改model的前提是:你已經創建完model,並且已經 使用 syncdb 或 migrate 創建了相應的資料庫表。
然後再 修改model,不會對資料庫表產生任何修改的。
具體的東西,自己去看 Django 相應版本的文檔去吧
不同版本,不太一樣。
9. Django如何更新資料庫
Django如何更新資料庫
你修改完對象模型後,在命令行下用python manage.py syncdb就可以了。
不過資料庫如果不滿意 ,可以通過它的meta欄位補充定義。 通常都可以達到自己理想的名稱。
另外資料庫更新後,反過來生成對象模型也是可以的。probe或者是profile這個命令就可以。