Возможно ли получить описание для типа данных курсора в представлении Django?
Дело в том, что когда я выполняю необработанный SQL, я могу получить описание, вызвав cursor().description
, но когда я выполняю cursor().callfunc('oracleTestFunc',cx_Oracle.CURSOR,)
(oracleTestFunc возвращает курсор) Я не могу получить описание полей. Таким образом, проблема состоит в том, чтобы получить description
. Как я могу это реализовать?Django cx_Oracle connection.cursor(). Description for oracle cursor datatype
UPDATE
Моя функция оракул
create or replace package body test_cl is
function ret_proc_run return sys_refcursor is
retval sys_refcursor;
begin
open retval for
select id_proc,inst_id,run_now from proc_run;
return retval;
end;
end test_cl;
В связи Джанго я называю это таким образом
cursor = connection.cursor()
results=cursor.callfunc('test_cl.ret_proc_run',cx_Oracle.CURSOR,)
Так что я хочу сделать, чтобы получить доступ к отдельным полям возвращаются функцией oracle (это id_proc
, inst_id
, run_now
) позже использовать в шаблоне.
Я думал, что это будет возможно с помощью метода cursor.description
, но после дальнейшего чтения документации я узнал, что это невозможно в этом случае, потому что оно вернет none
для типов данных курсора.
Вы спрашиваете, как получить описание из курсора, который возвращается из функции? –
Я хочу вызвать функцию описания на курсор. когда я его не получаю в случае курсора, но когда я выполняю необработанный sql-запрос в представлении, я могу вызвать метод описания на нем. – arminrock
Django немного обертывает вещи. Вы можете попробовать непосредственно с помощью cx_Oracle, чтобы узнать, отлично ли работает то, что вы хотите, за пределами Django. Вы можете получить исходное соединение cx_Oracle из Django. Я могу отслеживать код, если вам это нужно. Дай мне знать. –