版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
創(chuàng)建與激活模型創(chuàng)建與激活模型摘要遷移是非常強大的功能,它能讓你在開發(fā)過程中持續(xù)的改變數(shù)據(jù)庫結(jié)構(gòu)而不需要重新刪除和創(chuàng)建表-它專注于使數(shù)據(jù)庫平滑升級而不會丟失數(shù)據(jù)。關(guān)鍵詞遷移數(shù)據(jù)庫模型1在Django里寫一個數(shù)據(jù)庫驅(qū)動的Web應(yīng)用需要先定義模型投票應(yīng)用中,要創(chuàng)建兩個模型:問題Question和選項Choice。Question在models.py內(nèi)編輯示例如下:toupiao/models.py文件一、模型創(chuàng)建23每個模型都為django.db.models.Model類的子類。每個模型有一些表示模型里一個數(shù)據(jù)庫字段的類變量?!っ總€字段都是Field類的實例-例如,字符字段被表示為CharField,日期時間字段被表示為DateTimeField。Django會知道每個字段要處理的數(shù)據(jù)類型?!っ總€Field類實例變量的字段名(例如question_text或pub_date)在數(shù)據(jù)庫中會將它們作為列名。·可以使用可選的選項來為Field定義一個的名字。作為文檔的一部分。如果某個字段沒有提供此名稱,Django會使用對機器友好的變量名?!ざx某些Field類實例需要參數(shù)。例如CharField需要一個max_length參數(shù)。這個參數(shù)的用處不止于用來定義數(shù)據(jù)庫結(jié)構(gòu),也用于驗證數(shù)據(jù)。·Field也能夠接收多個可選參數(shù),在最后使用ForeignKey定義了一個關(guān)系。這會讓Django明白,每個Choice對象都關(guān)聯(lián)到一個Question對象。一、模型創(chuàng)建4
接下來我們要做的是:·為這個應(yīng)用創(chuàng)建數(shù)據(jù)庫schema?!?chuàng)建可以與Question和Choice對象進行交互的Python數(shù)據(jù)庫API。首先在項目中安裝toupiao應(yīng)用:在配置類INSTALLED_APPS中添加設(shè)置。因為PollsConfig類寫在文件toupiao/apps.py中,所以它的點式路徑是‘toupiao.apps.PollsConfig’。在文件Demo/settings.py中INSTALLED_APPS子項添加點式路徑后,如下所示:二、激活模型5現(xiàn)在你的Django項目會包含toupiao應(yīng)用。接著運行下面的命令:輸出如下:二、激活模型6二、激活模型7注意事項:輸出的內(nèi)容和你使用的數(shù)據(jù)庫有關(guān),上面的輸出示例使用的是PostgreSQL。數(shù)據(jù)庫的表名是由應(yīng)用名(toupiao)和模型名的小寫形式(question和choice)連接而來。(可自定義)主鍵(IDs)會被自動創(chuàng)建(可自定義)默認的,Django會在外鍵字段名后追加字符串“_id”。(可自定義)外鍵關(guān)系由FOREIGNKEY生成。生成的SQL語句是為你所用的數(shù)據(jù)庫所定制,所以那些和數(shù)據(jù)庫有關(guān)的字段類型,Django會幫你自動處理。sqlmigrate命令把命令輸出到屏幕上,表達的是Django認為需要執(zhí)行哪些SQL語句。二、激活模型8然后,再次運行migrate命令,在數(shù)據(jù)庫里創(chuàng)建新定義的模型的數(shù)據(jù)表:二、激活模型migrate命令選中所有還沒有執(zhí)行過的遷移(Django通過數(shù)據(jù)庫中創(chuàng)建的django_migrations表來跟蹤執(zhí)行過哪些遷移)并應(yīng)用在數(shù)據(jù)庫上。遷移非常實用,它專注于使數(shù)據(jù)庫平滑升級而不會丟失數(shù)據(jù)。9如果你想要改變模型,你需要完成的三個步驟:·編輯models.py文件,改變模型?!み\行pythonmanage.pymakemigrations為模型的改變生成遷移文件?!み\行pythonmanage.pym
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西藏寺院活動策劃方案(3篇)
- 小貓唱歌活動方案策劃(3篇)
- 別墅外沿施工方案(3篇)
- 活動策劃方案掃碼(3篇)
- 阿瑪尼520活動策劃方案(3篇)
- 鐵塔防水施工方案(3篇)
- 誦讀活動觀摩方案策劃(3篇)
- 場區(qū)清潔施工方案(3篇)
- 2025年金融風險管理規(guī)范與措施
- RCA紙帶摩擦培訓(xùn)課件
- 軌跡大數(shù)據(jù)處理技術(shù)的關(guān)鍵研究進展綜述
- 被打和解協(xié)議書范本
- 《糖尿病合并高血壓患者管理指南(2025版)》解讀
- 職業(yè)暴露考試試題及答案
- DB61-T 1843-2024 酸棗種植技術(shù)規(guī)范
- 機械密封安裝及維護培訓(xùn)
- 古建筑修繕加固施工方案
- DG-TJ08-19-2023園林綠化養(yǎng)護標準
- 上海市2024-2025學年高二上學期期末考試英語試題(含答案無聽力原文及音頻)
- 實驗室評審不符合項原因及整改機制分析
- 農(nóng)貿(mào)市場攤位布局措施
評論
0/150
提交評論