반응형
django에서 제약 조건 이름 제어
교환이 필요한 문제가 있습니다.FOREIGN KEY
제약, django에 의해 생성,ON DELETE CASCADE
제약이 있습니다.django에서 생성된 이행을 확장하여 다음 기능을 구현하고 싶습니다.RunSQL
:
- Django에 의해 생성된 제약조건을 다음과 같이 폐기합니다.
DROP FOREIGN KEY
- 다음을 사용하여 새 제약 조건 생성
ON DELETE CASCADE
.
첫 번째 작업을 수행하려면 FORNE KEY 구속조건의 이름이 필요한데, 이것은 django에 의해 자동으로 생성됩니다.
의 이름을 강제하려면 어떻게 해야 합니까?FOREIGN KEY
제약이 있습니까?(FORENAL KEY 컬럼 이름이 아닌 다른 이름)
간단한 해결책이 있습니다.처음에는 django가 외부 키 제약조건을 작성하도록 허용하지 마십시오.이것은 로 얻을 수 있습니다.db_constraint=False
:
tenant = models.ForeignKey(Tenant, on_delete=models.CASCADE, null=True, db_constraint=False)
그런 다음 원하는 제약 조건을 붙일 수 있습니다.migrations.RunSQL
.
언급URL : https://stackoverflow.com/questions/54763914/control-the-name-for-a-constraint-in-django
반응형
'sourcecode' 카테고리의 다른 글
Python에서 '//'를 사용하는 이유는 무엇입니까? (0) | 2022.09.21 |
---|---|
문자열을 텍스트 파일로 인쇄 (0) | 2022.09.21 |
month and day mysql 빼기 (0) | 2022.09.21 |
MySQL 데이터베이스를 JSON으로 내보내는 방법 (0) | 2022.09.21 |
HttpURL Connection HTTP 메서드: PATCH (0) | 2022.09.19 |