Для меня это звучит как ошибка в Django. Предыдущая ошибка, максимальная длина имени, не указанная для PostgreSQL , была исправлена. Я ожидаю, что Django будет генерировать идентификаторы базы данных, которые соответствуют max_name_length (). Может быть, я неоправданно оптимистичен.
Django уже знает, как усекать и добавлять повторяемый хеш, чтобы соответствовать Oracle max_name_length (). (См. Проблемы с именами .) Конечно, они не просто объединяют длинный составной идентификатор и надеются на лучшее, если вы используете любую другую платформу.
Возможно ли, что вы переопределяете поведение по умолчанию где-то, что заставляет Django игнорировать max_name_length ()?
Позже . , .
На самом деле, они просто собирают длинный составной идентификатор и надеются на лучшее. Нить на osdir.com предлагает исправить это в Django 1.3. См. Проблемы с DatabaseCreation, именами таблиц и именами индексов - msg # 00142
Еще позже. , .
Билет Ошибки длины индекса при выполнении тестов на MySQL показывают, что такое же исправление для MySQL было исправлено в версии 1.2. Кроме того, что PostgreSQL (и, вероятно, любая другая платформа) имеет ту же проблему. Я не знаю, было ли исправление для PostgreSQL в 1.2.