13

我有一个模型,我设法在两台不同的计算机上毫无问题地迁移。但是在我的服务器上,我收到以下错误:

迁移错误:some_app:0002_auto__some_migration

AttributeError:“DatabaseOperations”对象没有属性“shorten_name”

检查迁移文件我看到一行:

    m2m_table_name = db.shorten_name(u'some_app_some_class_some_attribute')

这可能是罪魁祸首。(有几行使用 this shorten_name。我不知道如何解决这个问题。

我服务器上的虚拟环境有 South 0.7.6、Django 1.5(和启用 Postgis 的 postgres)

4

1 回答 1

20

该错误源于版本冲突。您的迁移可能是使用较新版本的 South(可能在您的开发环境中)创建的,并且您的生产版本在较早版本上运行。

将 South 安装的版本号与

pip freeze

并查看在两种环境中都列出了哪个 South 版本。

于 2013-09-14T14:00:45.663 回答