Можно ли удалить параметр null = True из django ForeignKey? - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть две модели, foo и bar. Они уже существуют в моей базе данных со многими экземплярами каждый. Теперь я понял, что есть отношение, которое следует добавить. Для этого я добавлю sh, чтобы добавить ForeignKey между foo и bar.

class foo():
  # lots of stuff
  bar = models.ForeignKey(bar, related_name='foo', null=True)

Я на самом деле не хочу, чтобы ключ обнулялся, но, поскольку они уже существуют, мне нужно добавить его, потому что существующие строки должны быть заполнены.

Можно ли позже удалить параметр null=True после заполнения всех полей инстанса foreignKey?

1 Ответ

1 голос
/ 03 апреля 2020

Да, вы можете, в основном, чтобы достичь этого, вам нужно сделать три шага

  1. Создать первую миграцию, где вы создаете поле как nullable
  2. Создать вторую миграцию для заполнения уже существующие поля
  3. Создайте третью миграцию, в которой вы установите поле как необнуляемое

Очень хороший шаг за шагом объясняется здесь

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