Django4.0 數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)優(yōu)化-在數(shù)據(jù)庫(kù)中執(zhí)行數(shù)據(jù)庫(kù)操作,而不是在Python代碼中

2022-03-16 18:02 更新

例如:

  • 在最基本的層面上,使用 ?filter ?和 ?exclude ?在數(shù)據(jù)庫(kù)中進(jìn)行過(guò)濾。
  • 使用 ?F? 表達(dá)式 根據(jù)同一模型中的其他字段進(jìn)行過(guò)濾。
  • 利用 注解在數(shù)據(jù)庫(kù)中執(zhí)行聚合。

若其不足以生成你需要的 SQL:

使用 RawSQL

最簡(jiǎn)單直接的方法是 ?RawSQL ?表達(dá)式,它允許一些 ?SQL ?使用原生 SQL顯式的添加到查詢(xún)中。如果這還不夠強(qiáng)大:

使用原生 SQL

編寫(xiě)你自己的 自定義 SQL 來(lái)檢索數(shù)據(jù)或填充模型。使用 ?django.db.connection.query? 找出 Django 為你寫(xiě)的東西,然后從那里開(kāi)始。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)