1

Southが管理するDjangoプロジェクトがあります。プロジェクトを最初に開始したとき、通常の手順を実行しました。

  • 南をインストール
  • INSTALLED_APPSに南を追加
  • 初期syncdbを実行します
  • schemamigration --initial、続いてmigrate myapp

すべてが正常に機能しており、それ以来、いくつかの移行を行ってきました。ここで、サイトのdjango管理部分(INSTALLED_APPS、URLなど)を有効にしました。テストユーザーを追加しようとすると、次のエラーが発生しました。

Request Method: POST
Request URL:    http://127.0.0.1:8000/admin/auth/user/add/
Django Version: 1.4.3
Exception Type: DatabaseError
Exception Value:    
no such table: django_admin_log

走ってみschemamigration myapp --autoましたが、何も変わっていないようです。実行しconvert_to_south django.contrib.adminたり、偽の移行を試したりしましたが、同じエラーが発生し続けます。どんな助けでも大歓迎です。

4

2 に答える 2

2

南を利用するアプリのみが南によって管理されます

django.contrib.adminしません。代わりに、別のテーブルが必要ですsyncdb(既存のテーブルはそのままになるため、安全に実行できるはずです)。

于 2013-02-17T18:19:01.617 に答える
2

2番目の答えは正しいです

南を利用するアプリのみが南によって管理されます

したがって、南を使用することは可能な解決策ではありません。

あなたの問題は、syncdb が django_admin_log のテーブルが既に作成されていると考えていることです。

解決

  1. テーブルを開きますdjango_content_type
  2. name="log entry", app_label="admin", model="logentry"コンテンツ タイプのレコードを削除します。
  3. syncdb を再度実行する
于 2013-02-17T19:58:16.140 に答える