южная миграция: DatabaseOperations не имеет атрибута «shorten_name»

У меня есть модель, которую мне удалось без проблем перенести на два разных компьютера. Однако на моем сервере я получаю следующую ошибку:

Ошибка миграции: some_app:0002_auto__some_migration

AttributeError: объект «DatabaseOperations» не имеет атрибута «shorten_name»

Проверяя файл миграции, я вижу строку:

    m2m_table_name = db.shorten_name(u'some_app_some_class_some_attribute')

что может быть виновником. (есть несколько строк, в которых используется этот shorten_name. Я не знаю, как это решить.

Виртуальная среда на моем сервере имеет South 0.7.6, Django 1.5 (и postgres с поддержкой Postgis)


person Massagran    schedule 14.09.2013    source источник


Ответы (1)


Ошибка возникает из-за конфликта версий. Ваша миграция могла быть создана с более поздней версией South (возможно, в вашей среде разработки), а ваша производственная версия работает на более ранней версии.

Сравните номера версий установок South с

pip freeze

и посмотрите, какая южная версия указана в обеих средах.

person neurix    schedule 14.09.2013