使用extra:結果集修改器,一種提供額外查詢引數的機制
models.book.objects.filter(publisher__name='人民出版社').extra(where=['price>50'])
models.book.objects.filter(publisher__name='人民出版社', price__gt=50)
models.book.objects.extra(select=)
使用raw:執行原始sql並返回模型例項
book.objects.raw('select * from hello_book') # 返回模型例項
執行自定義sql語言:connection
from django.db import connection
cursor=connection.cursor()
# 插入操作
cursor.execute("insert into hello_author(name) values('錢鍾書')")
# 更新操作
cursor.execute("update hello_author set name='abc' where name='bcd'")
# 刪除操作
cursor.execute("delete from hello_author where name='abc'")
# 查詢操作
cursor.execute("select * from hello_author")
raw=cursor.fetchone() # 返回結果行游標直讀向前,讀取一條
cursor.fetchall() # 從游標位置開始,讀取所有
使用extra:結果集修改器,一種提供額外查詢引數的機制
models.book.objects.filter(publisher__name='人民出版社').extra(where=['price>50'])
models.book.objects.filter(publisher__name='人民出版社', price__gt=50)
models.book.objects.extra(select=)
使用raw:執行原始sql並返回模型例項
book.objects.raw('select * from hello_book') # 返回模型例項
執行自定義sql語言:connection
from django.db import connection
cursor=connection.cursor()
# 插入操作
cursor.execute("insert into hello_author(name) values('錢鍾書')")
# 更新操作
cursor.execute("update hello_author set name='abc' where name='bcd'")
# 刪除操作
cursor.execute("delete from hello_author where name='abc'")
# 查詢操作
cursor.execute("select * from hello_author")
raw=cursor.fetchone() # 返回結果行游標直讀向前,讀取一條
cursor.fetchall() # 從游標位置開始,讀取所有
Django中使用原生Sql
在django中使用原生sql主要有以下幾種方式 一 extra 結果集修改器,一種提供額外查詢引數的機制 二 raw 執行原始sql並返回模型例項 三 直接執行自定義sql 這種方式完全不依賴model,前兩種還是要依賴於model 例項 使用extra 1 book.objects.filter...
在Django中使用原生sql
raw row方法 摻雜著原生sql和orm來執行的操作 res cookbook.objects.raw select id as nid from epos cookbook where id s params 1,print res.columns nid print type res 在se...
django中使用原生sql語句
row方法 摻雜著原生sql和orm來執行的操作 res cookbook.objects.raw select id as nid from epos cookbook where id s params 1 print res.columns nid print type res 在select...