Как работает cursor.rowfactory (cx_oracle) при возврате каждой строки в формате словаря?

1

Как это работает? Я посмотрел документацию. Он сказал, что cursor.rowfactory является атрибутом, позволяющим пользователю определять, как будет получен формат строки. Однако я не вижу примеров того, как это определить. Тогда я нашел ответ выше. Я полностью потерял след и понятия не имел, что это делает. Может кто-нибудь объяснить, что это делает? Что такое атрибут .rowfactory? А как работает makeDictFactory? Что делает createRow и что содержит args? Есть ли документы, которые я могу посмотреть?

def makeDictFactory(cursor):
    columnNames = [d[0] for d in cursor.description]
    def createRow(*args):
       return dict(zip(columnNames, args))
    return createRow

curs.rowfactory = makeDictFactory(curs)
curs.fetchone()

Код отсюда

Теги:
cx-oracle

1 ответ

0

Посмотрите на пример https://github.com/oracle/python-cx_Oracle/blob/master/samples/GenericRowFactory.py

Также ознакомьтесь с руководством по cx_Oracle https://github.com/oracle/python-cx_Oracle/tree/master/samples/tutorial.

Также см. Презентации на cx_Oracle, например https://static.rainfocus.com/oracle/oow18/sess/1523651275582001fu8I/PF/TIP4076%20-%20Python%20and%20Oracle%20Database%20on%20the%20Table_1540587368635001dfNO.w.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню