Django プロジェクトには次の 2 つのアプリがあります。1 つのアプリ (プレーヤー) には、他のアプリ (チーム) を参照する ForeignKey があります。
アプリ 1 - プレーヤー/models.py
class Player(models.Model):
name = models.CharField(max_length=100)
team = models.ForeignKey(Team)
アプリ 2 - team/models.py
class Team(models.Model):
name = models.CharField(max_length=100)
問題 #1 - すべてが機能しているように見えますが、実行しようとするmanage.py reset teams
と次のエラーが発生します。
Error: Error: users couldn't be reset. Possible reasons:
* The database isn't running or isn't configured correctly.
* At least one of the database tables doesn't exist.
* The SQL was invalid.
Hint: Look at the output of 'django-admin.py sqlreset users'. That's the SQL this command wasn't able to run.
The full error: (1217, 'Cannot delete or update a parent row: a foreign key constraint fails')
すべてのテーブルが InnoDB であることを確認しました。人々が修正として使用することを提案しているのを見てきましSET FOREIGN_KEY_CHECKS=0
たが、これをどのように使用するのが最適かわかりませんmanage.py rest
問題 2 - mysqldump を実行すると、エラーが発生せずに MySQL データベースを復元できません。私の基本的な手順は次のとおりです。
私のデータベースをダンプします。
mysqldump --user=root --password=pass --result-file=MYBACKUP.SQL --compact MYDB
データベースを削除し、同じ名前で新しいデータベースを作成します。
データベースを復元します。
mysql -u root -p MYDB < MYBACKUP.SQL
以上です。初めて復元しようとすると、行 12 でこのエラー ERROR 1005 (HY000) が表示されます: テーブル 'MYDB.auth_group_permissions' を作成できません (errno: 150)
2 回目 (およびそれ以降) の復元を試みると、1 行先になりますが、次のエラーが表示されます: 行 3 でエラー 1050 (42S01): テーブル 'auth_group' が既に存在します
これらのエラーは外部キー制約に関係していると思いますが、修正方法がわかりません。
私はこれが一口だったことを知っていますが、どんなアドバイスでも大歓迎です。調査結果があれば、明日ここに投稿します。
前もって感謝します!