Разрешить null во внешнем ключе для пользователя. Джанго
-
06-07-2019 - |
Вопрос
У меня есть эта модель
class Vacancy(models.Model):
user = models.ForeignKey(User, null=True, blank=True, default = None)
name = models.CharField(max_length=64)
В админке я пытаюсь создать вакансию без пользователя. И это выдает ошибку " club_vacancy.user_id не может иметь значение NULL. Я делаю что-то не так?
Решение
club_vacancy.user_id не может быть NULL
Очень похоже на ошибку в вашей базе данных, а не в Django.
Скорее всего, вы добавили null = True
после запуска manage.py syncdb
. Вам нужно будет изменить схему базы данных, чтобы в этом столбце были пустые значения.
Другие советы
Помимо юга, другой вариант - использовать django evolution для изменений схемы.
вам нужно сбросить таблицу базы данных (поскольку только syncdb не обновляет поля, которые уже созданы с помощью null = False)
./ manage.py сбросить ваше приложение
ИЛИ, если есть данные, которые вы не хотите потерять, используйте команды SQL для удаления флага NOT NULL