ホームページ  >  に質問  >  本文

django.db.utils.IntegrityError: (1452, '子行を追加または更新できません: 外部キー制約が失敗しました

rree

私のモデルは以前はこんな感じでした。

リーリー

次に、このように基本の管理者ユーザー モデルから継承するように変更しました。

リーリー

ここで、makemigrations を実行して移行すると、次のエラーが表示されます。

リーリー

ぜひご覧ください。この問題を安全に解決するにはどうすればよいですか。データベースにデータがあり、ログイン テーブルが多くのテーブルの外部キーになっているためです。

ああああ

P粉615886660P粉615886660245日前441

全員に返信(1)返信します

  • P粉392861047

    P粉3928610472024-02-18 00:28:07

    User モデルからの継承は、独自の主キー id があるため機能しません。 Login モデルで主キー pid を定義しました。 代わりに、User フィールドを使用して Login モデルを拡張したい場合は、AbstractUser クラスから継承できます。

    デフォルトのユーザー モデルとして

    Login モデルに切り替える場合は、何らかの方法で auth_user テーブルから api_login テーブルにデータを移行する必要があります。データ移行または SQL を使用し、AUTH_USER_MODEL = "api.login" を設定します。

    返事
    0
  • キャンセル返事