13

問題なく 2 台の異なるコンピューターに移行できたモデルがあります。ただし、サーバーでは次のエラーが発生します。

移行エラー: 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 (および Postgis 対応の postgres) があります。

4

1 に答える 1

20

このエラーは、バージョンの競合が原因です。移行は South の新しいバージョン (おそらく開発環境) で作成されている可能性があり、実稼働バージョンは以前のバージョンで実行されます。

South インストールのバージョン番号を

pip freeze

両方の環境でどの South バージョンがリストされているかを確認します。

于 2013-09-14T14:00:45.663 に答える