Django2 2丨執行原生SQL查詢

2021-10-08 19:49:46 字數 1114 閱讀 4326

執行原生查詢

管理器方法raw()能用於執行原生sql查詢,返回模型例項。

manager.raw(raw_query, params=none, translations=none)
示例

class

person

(models.model)

: first_name = models.charfield(..

.)last_name = models.charfield(..

.)birth_date = models.datefield(..

.)

執行自定義sql

>>

>

for p in person.objects.raw():

...print

(p)john smith

jane jones

相當於person.objects.all()

將查詢字段對映為模型字段

兩種查詢是一致的

>>

> person.objects.raw().

..>>

> person.objects.raw().

..

索引查詢

raw()支援索引

>>

> first_person = person.objects.raw()[

0]

將引數傳給raw()

可以使用raw()的params引數

>>

> lname =

'doe'

>>

> person.objects.raw(

,[lname]

)

注:不要對原生查詢或sql字串中的引號佔位符使用字串格式化!

錯誤示例

>>

> query =

% lname

>>

> person.objects.raw(query)

Django2 2配置xadmin的實現

1.在專案目錄下新建資料夾extra apps,並右鍵 mark directory as sources root,設定為專案資源檔案 2.在settings.py中引入該路徑 base dir os.path.dirname os.path.dirname os.path.abspath fil...

Django2 2點滴累積2

在manage.py所在資料夾建立1個討論區 檢視目錄樹 tree f 開啟settings.py boards 開啟boards資料夾中的view.py中新增 開啟url.py檔案新增 from boards import views 在urlpatterns變數 的列表中新增 url r vie...

django2 2處理跨域請求

根據django cors headers官網配置 先安裝 pip install django cors headers 只需要在settings下配置 跨域的解決 corsheaders 在中介軟體下 middleware 跨域的解決 corsheaders.middleware.corsmid...