У меня проблема с Djang makemigrations / migrate tool
- У меня есть модель снятия с Foreignkey для таблицы Employee. Все отлично работает
models.py
from django.contrib.auth.models import User
class Withdraw(models.Model):
employee_id = models.ForeignKey(Employee, on_delete = models.PROTECT)
amount = models.IntegerField(default=0)
withdraw_date = models.DateTimeField(default=timezone.now)
is_confirmed_by_employer = models.BooleanField(default=False)
Я хочу изменить его и добавить пользователя в качестве иностранного ключа для пользователя:
user = models.ForeignKey (User, on_delete = models.CASCADE)
Я запускаю makemigrations и у меня появляется следующее сообщение об ошибке:
Вы пытаетесь добавить необнуляемое поле 'user' для удаления без значения по умолчанию; мы не можем этого сделать (базе данных нужно что-то для заполнения существующих строк). Пожалуйста, выберите исправление: 1) Укажите одноразовое значение по умолчанию сейчас (будет установлено для всех существующих строк с нулевым значением для этого столбца) 2) Выйдите и позвольте мне добавить значение по умолчанию в models.py
Если я нажму 1, то у меня появится следующее сообщение, что я на самом деле не получаю, зачем мне ставить пользователю datetime или timezone.now ??
Выберите опцию: 1 Пожалуйста, введите значение по умолчанию сейчас, как действительные Python Доступны модули datetime и django .utils.timezone, так что вы можете сделать, например, timezone.now Введите 'exit' для выхода из этого приглашения
Я пытался удалить папку migrates и заново создать файлы миграции, как советовали в некоторых других сообщениях на форуме. Когда я воссоздаю миграцию с помощью команды createmigrations Withdraw и переносу ее в postgresSql, таблица вывода не создается, но инструмент пишет, что таблица создана и перенесена.
Так или иначе Я не могу перенести это небольшое изменение в БД. Есть ли у вас мнения? Thx!