Похоже, что в его текущем местоположении по умолчанию сломан easy_install:
$ which easy_install
/usr/bin/easy_install
. Способ преодоления заключается в использовании пакетов easy_install в сайтах. Например:
$ sudo python /Library/Python/2.7/site-packages/easy_install.py boto
Мы (musicpictures.com / eviscape.com) написали фрагмент кода django, но это не вся история (на самом деле этот код тестировался только в Oracle в то время).
Хранимые процедуры делают ощущать, когда вы хотите повторно использовать проверенный и проверенный код SP, или когда один вызов SP будет быстрее, чем несколько обращений к базе данных - или когда безопасность требует модерируемого доступа к базе данных - или когда запросы очень сложные / многошаговые. Мы используем гибридный подход модель / SP против баз данных Oracle и Postgres.
Хитрость заключается в том, чтобы упростить использование и сохранить его как «django». Мы используем функцию make_instance, которая берет результат курсора и создает экземпляры модели, заполненные курсором. Это хорошо, потому что курсор может вернуть дополнительные поля.
Cx_Oracle может использоваться. Кроме того, довольно полезно, когда у нас нет доступа к развернутому коду производства, и потребность возникает для внесения существенных изменений в базе данных.
import cx_Oracle
try:
db = dev_plng_con
con = cx_Oracle.connect(db)
cur = con.cursor()
P_ERROR = str(error)
cur.callproc('NAME_OF_PACKAGE.PROCEDURENAME', [P_ERROR])
except Exception as error:
error_logger.error(message)
Не.
Серьезно.
Переместите логику хранимой процедуры в свою модель, где она принадлежит.
Помещение некоторого кода в Django и некоторого кода в базу данных - кошмар обслуживания. Я провел слишком много из моих 30 с лишним лет в ИТ, пытаясь навести порядок в этом виде.
Вы должны использовать утилиту подключения в Django:
from django.db import connection
cursor = connection.cursor()
cursor.execute("SQL STATEMENT CAN BE ANYTHING")
, тогда вы можете получить данные:
cursor.fetchone()
или:
cursor.fetchall()
Подробнее здесь: http://docs.djangoproject.com/en/dev/topics/db/sql/
Если вы хотите посмотреть на реально работающий проект, использующий SP, посмотрите мини-книги . Множество пользовательских SQL и использует Postgres pl / pgsql для SP. Я думаю, что они собираются удалить SP в конце концов (оправдание в trac ticket 92 ).