sourcecode

django에서 제약 조건 이름 제어

copyscript 2022. 9. 21. 23:25
반응형

django에서 제약 조건 이름 제어

교환이 필요한 문제가 있습니다.FOREIGN KEY제약, django에 의해 생성,ON DELETE CASCADE제약이 있습니다.django에서 생성된 이행을 확장하여 다음 기능을 구현하고 싶습니다.RunSQL:

  1. Django에 의해 생성된 제약조건을 다음과 같이 폐기합니다.DROP FOREIGN KEY
  2. 다음을 사용하여 새 제약 조건 생성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

반응형