Я разместил этот вопрос на django-users@googlegroups.com и получил следующий ответ:
"Проблема заключается в разнице в SQLite и Oracle. В отличие от MySQL, PostgresQL и SQLIte, Oracle не имеет автоматически генерируемых первичных ключей. Чтобы восполнить это, Django в Oracle использует триггер для каждого Django- управляемая таблица, которая распознает первичный ключ NULL при вставке и генерирует ключ, используя выделенную последовательность для этой таблицы. Обычно, если вы создаете таблицы с нуля, инструменты управления Django (syncdb, sqlall и т. д.) создают последовательность и запуск для вас. Не зная больше о том, как вы заполнили вашу схему, трудно сказать, что пошло не так, но если вы запустите 'python manage.py sqlall invdb', он должен распечатать DDL, чтобы создать триггер и последовательность, и вы могу добавить их вручную. "
В моем случае - и ошибка может быть вторичным повреждением, связанным с этим - "python manage.py syncdb" аварийно завершился с первого раза, и в качестве стандартного обходного пути я запустил его во второй раз, когда он работал без сообщения ошибка. Я передал это другому человеку, так что я не уверен, как это было решено, но я полагаю, что пропущенный триггер может быть вторичным ущербом, связанным с падением, и я думаю, что это было решено с помощью кода типа базы данных, помещающего код на место так, у модели-нарушителя был триггер.