Контролировать имя для ограничения в Django - PullRequest
0 голосов
/ 19 февраля 2019

У меня проблема в том, что мне нужно заменить ограничение FOREIGN KEY, сгенерированное django, на ограничение ON DELETE CASCADE.Я хочу расширить сгенерированную django миграцию для реализации следующего с RunSQL:

  1. Снять ограничение, сгенерированное Django с помощью DROP FOREIGN KEY
  2. Создать новое ограничениес ON DELETE CASCADE.

Чтобы выполнить первую операцию, мне нужно имя ограничения FOREIGN KEY, но оно автоматически генерируется django.

Как я могу форсировать имяFOREIGN KEY ограничения?( не имя столбца FOREIGN KEY, что совсем другое)

1 Ответ

0 голосов
/ 19 февраля 2019

Существует простое решение: не позволяйте django создавать ограничение внешнего ключа.Это может быть достигнуто с помощью db_constraint=False:

tenant = models.ForeignKey(Tenant, on_delete=models.CASCADE, null=True, db_constraint=False)

После этого вы можете установить любое ограничение, используя migrations.RunSQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...