第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

原始 sql 查詢和普通 sql 查詢有什么區(qū)別?

原始 sql 查詢和普通 sql 查詢有什么區(qū)別?

慕桂英3389331 2022-06-22 17:47:58
我是 sql 和數據庫的新手,目前正在 django 框架中開發(fā)網站。在閱讀 django 文檔期間,我閱讀了有關使用 Manager.raw() 執(zhí)行的原始 sql 查詢,如下所示。for p in Person.objects.raw('SELECT * FROM myapp_person'): Manager.raw(raw_query, params=None, translations=None)原始查詢與普通 sql 查詢有何不同以及何時應該使用原始 sql 查詢而不是 Django ORM?
查看完整描述

2 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

Django(與其他類似的 ORM 工具一樣)是關系數據庫和面向對象編程之間的連接。它實現的一個非常重要的功能是為數據庫提供一個統(tǒng)一的接口——無論底層數據庫如何。

當您使用底層 Django 功能時,任何數據庫都應支持該代碼(對此可能有特定限制)。這使得移植到另一個數據庫變得特別容易。它還有助于確保生成的查詢符合您的預期。

當您使用原始 SQL 時,代碼可能特定于一個數據庫(產生移植問題)。代碼也未檢查,這可能導致難以理解的錯誤。

我非常喜歡直接使用 SQL——但那是因為我不是使用 ORM 框架的程序員。如果您要使用這樣的框架,最好盡可能使用內置功能。


查看完整回答
反對 回復 2022-06-22
?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

這是一個邊緣意見問題,因此可能會被標記,但這是一個很好的觀點。本質上,原始 SQL 查詢僅用于 Django ORM 無法滿足您的需求的邊緣情況(并且隨著每個新版本的 Django,它支持越來越多的查詢類型,因此原始 SQL 變得不那么有用)。

一般來說,我建議使用 ORM 以獲得更有用的錯誤消息、可維護性和簡單易用性,并且僅將 raw 用作最后的手段


查看完整回答
反對 回復 2022-06-22
  • 2 回答
  • 0 關注
  • 123 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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