Получить ассоциативный массив из необработанного sql запроса в django - PullRequest
0 голосов
/ 18 марта 2020

Я занимаюсь разработкой django веб-приложения. Я использую необработанные sql запросы без использования моделей. Ниже приведен код, который у меня есть до сих пор.

def getCntlData(self, FID, PID):
        sqlst = 'select * from employee where employeeid = %s'    
        cursor.execute(sqlst, [PID])
        data_row = cursor.fetchall()

        return data_row

Я хочу получить данные в формате ассоциативного массива или в виде словаря, например, что PHP дает при запросе mysql. [{ "Employeename": "Макс", "employeeage": "34"}]

1 Ответ

0 голосов
/ 18 марта 2020

Из Django документации предварительная обработка необработанных SQL запросов

По умолчанию API БД Python будет возвращать результаты без имен их полей, что означает, что вы в конечном итоге список значений, а не диктат. При небольших затратах на производительность и память вы можете возвращать результаты в виде подсказок, используя что-то вроде этого:

def dictfetchall(cursor):
    "Return all rows from a cursor as a dict"
    columns = [col[0] for col in cursor.description]
    return [
        dict(zip(columns, row))
        for row in cursor.fetchall()
    ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...