亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何正確的使用和設置Database和Model?

如何正確的使用和設置Database和Model?

Qyouu 2019-02-15 15:11:51
如何正確的使用和設置Database和Model
查看完整描述

1 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

 Model是django項目的基礎, 如果一開始沒有好好設計好, 那么在接下來的開發過程中就會遇到更多的問題. 然而, 大多數的開發人員都容易在缺少思考 的情況下隨意的增加或修改model. 這樣做的后果就是, 在接下來的開發過程中, 我們不得不做出更多努力來修正這些錯誤.
  因此, 在修改model時, 一定盡可能的經過充分的考慮再行動! 以下列出的是我們經常用到的一些工具和技巧:
  South, 用于數據遷移, 我們會在每個django項目中都用到. 但到django 1.7時, 將會有django.db.migrations代替.
  django-model-utils, 用于處理常見的模式, 例如TimeStampedModel.
  django-extensions, 主要用到shell_plus命令, 該命令會在shell中自動載入所有的app的model
  1. 基本原則
  第一, 將model分布于不同的app中. 如果你的django項目中, 有一個app擁有超過20個model, 那么, 你就應當考慮分拆該app了. 我們推薦每個app擁 有不超過5個model.
  第二, 盡量使用ORM. 我們需要的大多數數據庫索引都能通過Object-Relational-Model實現, 且ORM帶給我們許多快捷方式, 例如生成SQL語句, 讀取/更新數據庫時的安全驗證. 因此, 如果能使用簡單的ORM語句完成的, 應當盡量使用ORM. 只有當純SQL語句極大地簡化了ORM語句時, 才使用純SQL語句. 并且, 在寫純SQL語句是, 應當優先考慮使用raw(), 再是extra().
  第三, 必要時添加index. 添加db_index=True到model中非常簡單, 但難的是理解何時應該添加. 在建立model時, 我們事先不會添加index, 只有當 以下情況時, 才會考慮添加index:
  在所有的數據庫查詢中使用率在10%-25%時
  或當有真實的數據, 或能正確估計出使用index后的效果確實滿意時

查看完整回答
反對 回復 2019-03-10
  • 1 回答
  • 0 關注
  • 669 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號