2017-01-12 5 views
0

私はちょうどhereを投稿した問題がありました。問題の根本が悪い依存関係になっているので、アンインストールしてインストールすると、requirements.txtが役に立ちます。Django:名前の移行をインポートできません

私はそれをしましたが、今、もちろん、私は新しい問題に遭遇しました。

マイグレーションを実行しているとき、私は次のエラーを取得しています

File "C:\Python27\lib\site-packages\genericm2m\migrations\0001_initial.py", line 5, in <module> 
    from django.db import migrations, models 
ImportError: cannot import name migrations 

別の答えによると、これは私が私のDjangoのバージョン(1.4)をサポートしていない、移行モジュールを使用していますので、発生していますまだ。

django-generic-m2mモジュール(バージョン0.3.1)が移行を使用しているようです。私はいつも同じrequirements.txtファイルを使用していたので、この問題が今起こっている理由は分かりません。この問題は一度もありませんでした。

私はDjangoがそれらを扱うことができない間に、マイグレーションを使って同様の問題を持っていました。しかし、これらのデープにもsouth_migrationsフォルダがあるので、migrationsに名前を変更し、実際のmigrationsフォルダを取り除くと、このトリックが実行されます。ただし、generic2m2インストールディレクトリには、south_migrationsというディレクトリはありません。

以前誰かがこの問題を抱えていましたか?

+2

何歳の完全サポートされていない1.4を使用しているのですか? –

+0

それは私がそれを選ぶまでではないので。 – dabadaba

+0

要件(例: 'genericm2m == 0.3.0'または' genericm2m <0.3.1')を指定しない限り、要件ファイルを使ってインストールすると、アプリケーションを破壊する新しいバージョンが使用されることがあります。 – Alasdair

答えて

2

アプリにはマイグレーションがありません。見つけられる限り、アプリにはそれがありませんでした。おそらく 'syncdb'を使ってデータベーステーブルを作成していました。

新しいDjangoにはsyncdbがないため、テーブルを作成するための移行が追加されました。

移行ディレクトリの名前を変更する場合は、migrations /ディレクトリを削除するだけで済みますが、実際にはサポートされているバージョンにアップグレードする必要があります。

south_migrationsをマイグレーションに名前を変更するという古い修正は、意図された使用ではありませんでした.Django-South 1.0(django-southの最後のバージョン)を使用すると、south_migrationsディレクトリが存在し、それはmigrationsディレクトリの代わりです。

したがって、Southを1.0にアップデートしてからを追加すると、が追加され、空のsouth_migrations /ディレクトリも機能する可能性があります(分かりません)。

+0

ええ、私はmigrationsフォルダを削除しました。 – dabadaba

関連する問題