国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费

當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計軟件教程 > 翻譯www.djangobook.com之第十七章:與遺留系統(tǒng)和數(shù)據(jù)庫集成

翻譯www.djangobook.com之第十七章:與遺留系統(tǒng)和數(shù)據(jù)庫集成
2010-01-13 23:44:33  作者:  來源:
盡管Django最適合從零開始開發(fā)項目--所謂的"綠色領(lǐng)域"開發(fā)--將框架與遺留系統(tǒng)和數(shù)據(jù)庫集成是可能的,本章解釋一些
集成策略

與遺留數(shù)據(jù)庫集成
Django的數(shù)據(jù)庫層從Python代碼生成SQL schemas--但是對于遺留數(shù)據(jù)庫,你已經(jīng)擁有SQL schemas,這種情況下你需要為你
已經(jīng)存在的數(shù)據(jù)庫表寫模型(由于性能的原因,Django的數(shù)據(jù)庫層不支持通過運行時自省數(shù)據(jù)庫的不工作的對象-關(guān)系映射,
為了使用數(shù)據(jù)庫API,你需要寫模型代碼),幸運的是,Django帶有通過閱讀你的數(shù)據(jù)庫表規(guī)劃來生成模型代碼的輔助工具
該輔助工具稱為manage.py inspectdb

使用inspectdb
inspectdb輔助工具檢查你的settings文件指向的數(shù)據(jù)庫,決定你表示你的表的Django模型并打印Python模型代碼到標(biāo)準(zhǔn)輸出
這里是典型的從零開始的遺留數(shù)據(jù)庫處理的過程,唯一的前提是Django已經(jīng)安裝并且你有一個遺留數(shù)據(jù)庫
1,通過運行django-admin.py startproject mysite(這里mysite是你的項目名)創(chuàng)建Django項目,我們將在例子中使用mysit
e作為項目名
2,在項目中編輯settings文件mysite/settings.py來告訴Django你的數(shù)據(jù)庫連接參數(shù)是什么以及數(shù)據(jù)庫名是什么,特別的,
你將想指定DATABASE_NAME,DATABASE_ENGINE,DATABASE_USER,DATABASE_PASSWORD,DATABASE_HOST和DATABASE_PROT設(shè)置
3,通過運行python mysite/manage.py startapp myapp(這里myapp是你的app名)來在你的項目中創(chuàng)建Django app,我們這里
將使用myapp作為項目名
4,運行命令python mysite/manage.py inspectdb,這將檢查DATABASE_NAME數(shù)據(jù)庫中的表并為每個表打印模型類,看看輸出
來了解inspectdb可以做什么事情
5,在你的app里通過使用標(biāo)注shell輸出重定向保存輸出到models.py文件:
python mysite/manage.py inspectdb > mysite/myapp/models.py
6,編輯mysite/myapp/models.py文件,整理生成的模型并且做你需要的自定義,我們將在下一節(jié)對此給出一些提示

整理生成的模型
你可能料想到了,數(shù)據(jù)庫省查不是完美的,你將需要做一些輕量的結(jié)果模型代碼的整理,這里是處理生成的模型的一些指示:
1,每個數(shù)據(jù)庫表都被轉(zhuǎn)換為一個模型類--即,在數(shù)據(jù)庫表和模型類之間有一個一對一映射,這意味著你將需要對任何多對多
鏈接表重整模型為ManyToManyField對象
2,每個生成的模型對每個域有一個屬性--包括id主鍵域,盡管如此,如果模型沒有主鍵,調(diào)用它Django會自動添加id主鍵域
這樣,如果你非常肛門,你將像刪除任何像這樣的行,因為它們是冗余的:
id = models.IntegerField(primary_key=True)
3,每個域的類型(如CharField,DateField)通過查看數(shù)據(jù)庫列類型(如VARCHAR,DATE)來決定,如果inspectdb不能映射一個
列的類型到模型域,它將使用TextField并在生成的模型中該域附近插入Python注釋"該域類型是猜的",當(dāng)心它,如果需要則
對應(yīng)的改變域類型
4,如果數(shù)據(jù)庫列名是Python保留字(如pass,class或者for),inspectdb將添加'_field'到屬性名,例如,如果一個表有一
個列for,生成的模型將有一個域for_field,db_column屬性設(shè)置為'for'.inspectdb將插入Python注釋'域被重命名因為它是
Python保留字'到域附近
5,如果你的數(shù)據(jù)庫包含引用到其它表的表(大部分?jǐn)?shù)據(jù)庫這樣做),你可能需要重新安排生成的模型的順序來使引用其它模型
的模型正確的排序,例如,模型Foo有一個ForeignKey到模型Bar,則模型Bar應(yīng)該在模型Foo之前定義
6,inspectdb為PostgreSQL,MySQL和SQLite檢測主鍵,即它在合適的地方插入primary_key=True,對于其它數(shù)據(jù)庫,你將需
要在每個模型中為至少一個域插入primary_key=True,因為Django模型需要有一個primary=True的域
7,外鍵檢測只與PostgreSQL和某些類型的MySQL表工作,其他情況下,外鍵域?qū)⑸蔀镮ntegerField(假設(shè)外鍵列為INT列)


安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费
<button id="0mgmq"><pre id="0mgmq"></pre></button>
  • <tr id="0mgmq"></tr>
  • <abbr id="0mgmq"><source id="0mgmq"></source></abbr> <button id="0mgmq"></button>
  • 日本精品二区| 久久精品一本| 日日夜夜精品网站| 国产精品中出一区二区三区| 一区二区三区免费看| 欧美日韩亚洲三区| 欧美激情视频一区二区三区| 国产精品视频入口| 久久久久久久久一区二区| 亚洲第一精品影视| 国产精品国产三级国产专区53| 日本在线观看一区二区| 久久国产精品高清| 精品91免费| 精品一区二区国产| 精品一区在线播放| 久久99精品国产99久久| 国产精品中出一区二区三区| 成人高清在线观看| 国产精品久久精品国产| 高清视频一区| 99在线热播| 国产嫩草一区二区三区在线观看 | 欧美国产先锋| 宅男一区二区三区| 国产精品二区在线| 亚洲国产一区二区三区a毛片| 欧美激情成人在线| 亚洲视频欧美在线| 国产精品免费一区二区三区在线观看| 在线精品福利| 亚洲欧美高清| 久久精品国产清高在天天线| 99伊人久久| 欧美日韩综合另类| 亚洲欧美精品在线观看| 欧美一区二区三区久久精品茉莉花 | 亚洲一区美女| 国产伊人精品| 久久99伊人| 精品不卡一区二区三区| 日本一区免费观看| 欧美精品三区| 国产精品免费一区二区三区观看| 久久综合狠狠| 久久婷婷国产综合尤物精品| 天堂√在线观看一区二区| 欧美二区视频| 国产女优一区| 蜜桃传媒视频麻豆一区| 亚洲国产精品一区二区第四页av| 欧美日韩高清在线一区| 一本久道久久久| 国产精品日韩一区二区| 亚洲精品二区| 国产精品久久国产愉拍 | 国产精品一 二 三| 亚洲日本欧美在线| 一区二区三区国产盗摄 | 亚洲综合丁香| 日本成人三级电影网站| 黄色av一区| 精品国产乱码久久久久久108| 视频一区视频二区视频三区视频四区国产 | 好吊妞www.84com只有这里才有精品 | 精品一区二区三区国产| 国产精品99一区二区| 不卡视频一区二区| 欧美一区二区三区免费看| 久久久久国产精品一区二区| 天堂精品视频| 97久久人人超碰caoprom欧美| 亚洲精品成人自拍| 51国产成人精品午夜福中文下载| 亚洲视频精品一区| 成人91免费视频| 欧美精品一区在线| 久草精品电影| 美女日韩在线中文字幕| 欧美成人一区二免费视频软件| 久久一区中文字幕| 激情欧美丁香| 欧美理论一区二区| 久久精品1区| 狠色狠色综合久久| 欧美日韩三区四区| 午夜一区二区三视频在线观看| 在线综合视频网站| 精品不卡在线| 可以免费看不卡的av网站| 亚洲午夜极品| 中文字幕欧美人与畜| 精品国产乱码久久久久久88av| 正在播放亚洲| 黄色av成人| 欧美激情综合色综合啪啪| 欧美亚洲爱爱另类综合| 国产精品国产精品| 亚洲欧美日韩精品综合在线观看| 国产一区二区中文字幕免费看| 先锋影音欧美| 欧美日韩大片一区二区三区| 国产精品免费一区二区三区| 国产一区导航| 99成人精品| 99精品福利视频| 亚洲国产二区| 亚洲欧洲精品一区二区| 欧美精品三级| 欧美日韩在线大尺度| 一本一本a久久| 亚洲一二区在线| 夜夜爽99久久国产综合精品女不卡 | 另类国产ts人妖高潮视频| 国产欧美日韩一级| 99视频在线精品国自产拍免费观看| 欧美va天堂在线| 亚洲乱码久久| 久久在线精品| 麻豆精品视频| 久久蜜桃精品| 国产a一区二区| 国产精品一区在线观看| 老司机精品视频网站| 久久福利一区| 91九色蝌蚪嫩草| 国产chinese精品一区二区| 99re国产| 久久久久久久久一区二区| 国产私拍一区| 欧美婷婷久久| 亚洲国产精品一区二区第四页av| 日韩资源av在线| 欧美大片一区| 亚洲精品一区二区三| 亚洲视频1区| 久久久久久久久久码影片| 91亚色免费| 欧美一区二区三区在线播放| 日韩欧美亚洲在线| 国产一区视频在线观看免费| 亚洲黄色影片| 亚洲一区二区在线看| 久久尤物视频| 欧美一级二级三级九九九| 伊人久久大香线蕉综合75| 国产精品二区二区三区| 亚洲欧美日本日韩| 久久99精品久久久久久水蜜桃| 欧美午夜精品久久久久免费视| 在线免费一区| 国产精品毛片一区二区三区| 国产色综合一区二区三区| 亚洲欧美国产不卡| 亚洲毛片视频| 精品国产乱码久久久久久蜜柚 | 天堂一区二区三区| 一区在线视频| 精品欧美一区二区精品久久| 午夜精品亚洲| 成人xxxxx色| 欧美日韩高清在线一区| 久久久水蜜桃| 亚洲综合视频一区| 欧美黄在线观看| av在线不卡观看| 亚洲在线不卡| 亚洲欧美日本日韩| 日韩激情久久| 久久高清免费观看| 亚洲激情啪啪| av免费观看久久| 国产精品久久| 老牛影视免费一区二区| 1024日韩| 亚洲一区二区在| 波多野结衣精品久久| 国产精品xvideos88| 国产欧美综合精品一区二区| 亚洲成人中文| 亚洲精品8mav| 国产精品视频500部| 9色精品在线| 一区二区免费电影| 国产一区在线免费| 性欧美暴力猛交另类hd| 欧美日本一区二区高清播放视频| 99九九电视剧免费观看| 亚洲三级网站| 中文字幕中文字幕99| 欧美人与性禽动交精品| 美女诱惑黄网站一区| 91久久极品少妇xxxxⅹ软件| 蜜桃精品久久久久久久免费影院 | 国产精品青青草| 免费国产自线拍一欧美视频| 国产精品mv在线观看| 亚洲精品二区| 少妇免费毛片久久久久久久久| 国产精品一区二区免费看|