>  Q&A  >  본문

django.db.utils.IntegrityError: (1452, '하위 행을 추가하거나 업데이트할 수 없습니다: 외래 키 제약 조건이 실패했습니다.

아아아아

제 모델은 이런 모습이었어요.

으아악

그런 다음 이렇게 기본 관리자 사용자 모델에서 상속하도록 변경했습니다.

으아악

이제 makemigrations를 실행하고 마이그레이션하면 다음 오류가 발생합니다.

으아악

꼭 봐주세요. 어떻게 하면 이 문제를 안전하게 해결할 수 있나요? 내 데이터베이스에 데이터가 있고 로그인 테이블이 많은 테이블의 외래 키이기 때문입니다.

from django.db import models
from django.contrib.auth.models import User

P粉615886660P粉615886660245일 전435

모든 응답(1)나는 대답할 것이다

  • P粉392861047

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

    From User 模型继承是行不通的,因为它有自己的主键 id。您在 Login 模型中定义了一个主键 pid . 대신 User 字段扩展 Login 模型,则可以从 AbstractUser 클래스 상속을 사용하고 싶다면.

    Login 模型作为默认用户模型,您必须以某种方式将数据从 auth_user 表迁移到 api_login 表,使用数据迁移或 SQL,并设置 AUTH_USER_MODEL = "api.登录“

    로 전환하고 싶다면

    회신하다
    0
  • 취소회신하다