Django之ORM執行原生sql語句

2022-05-15 15:17:08 字數 1452 閱讀 9513

django

中的orm

提供的操作功能有限,在模型提供的查詢

api不能滿足實際工作需要時,可以在

orm中直接執行原生sql語句。

django

提供兩種方法使用原生sql進行查詢:一種是使用raw()方法,進行原生sql查詢並返回模型例項;另一種是完全避開模型層,直接執行自定義的sql語句。

# raw()

方法執行原生

sql(

呼叫的類名不區分是誰,只要存在均可執行

)

ret=models.book.objects.raw('select*

)

forbookinret:

print

(book.book_name)

# print(book.__dict__)

#

直接執行自定義原生

sql

(完全避開模型層,類似

pymysql

操作)

fromdjango.dbimportconnection

cursor=connection.cursor()

cursor.execute('select*

)ret=cursor.fetchall()

print

(ret)#((2, '

小時光

', decimal('10.00'), 2), (3, '

未來可期

', decimal('33.00'), 1), (4, '

打破思維裡的牆

', decimal('11.00'), 2), (5, '

時光不散

', decimal('11.00'), 3))

Django執行原生SQL

hey,各位小夥伴,這次怎麼來玩一下,如何使用django執行原生sql 我們都知道,python在web界的扛把子,django,可謂是集大成為統一,各種各樣的外掛程式,forms元件,model模型,admin後台 反正就是乙個字,nb 本次就來學一下,如何在django執行原生語句 在使用dj...

django執行原生sql

一 orm row 方法 只能實現查詢 d list models.article.objects.raw select nid,count nid as num,strftime y m create time as ctime from blog article where user id st...

Django執行原生SQL語句

msg show successfully error tag 0 用connection庫 和原生的sql語句讀資料庫,如下 from django.db import connection 匯入connection sql str select from book str型別的原生sql語句 c...