Django查詢數(shù)據(jù)庫(kù)返回字典dict數(shù)據(jù)

個(gè)人觀點(diǎn): 個(gè)人認(rèn)為,在Django項(xiàng)目中, 開(kāi)發(fā)團(tuán)隊(duì)為了讓使用該框架的用戶都使用自帶的序列化功能,從而讓框架中的SQL返回值很不直觀,對(duì)于直接使用SQL語(yǔ)句的用戶很犯難.

解決:

from django.db import connection
from collections import OrderedDict

def run(sql):
    cursor = connection.cursor()
    cursor.execute(sql, None)
    desc = cursor.description
    desc = desc if desc else []
    return_li = []
    result_key = [col[0] for col in desc]
    for i in cursor.fetchall():
        order_dict = OrderedDict()
        for index, value in enumerate(i):
            order_dict.update({result_key[index]: value})
        else:
            return_li.append(order_dict)
    print(return_li)  # 返回[{}, {}, ...]類型數(shù)據(jù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容