Хотя в вашем вопросе много неясного.Но я предполагаю, что эта ошибка происходит, когда вы запускаете команду ./manage.py makemigrations
.Ошибка в том, что база данных требует, чтобы у вас было значение поля author
для всех строк.Это потому, что параметр null
в models.ForeignKey()
по умолчанию равен False
.Это означает, что он не допускает null
значений.
Теперь очевидно, что вы не вводите никакие значения или данные для полей с помощью команды makemigrations
.Но это может произойти, если вы попытаетесь добавить дополнительные поля в уже перенесенную модель (или таблицу), которая содержит некоторые записи.Поэтому, когда вы добавляете это дополнительное поле, которое в вашем случае может быть author
, оно обновляет таблицу с этой дополнительной записью.Но более ранние строки не имеют никакого значения для этого поля.Это означает, что они будут null
.Но поскольку значение по умолчанию null=False
, вы получите эту ошибку.
Если вы разрешите author
ForeignKey как null=True
, это решит проблему.Это означает, что уже существующие записи могут иметь значения null
.
author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.DO_NOTHING, db_constraint= False)
Другое решение :
Если вы просто делаете пример проекта и данные в вашей базе данных не так важны для вас.Вы также можете удалить уже существующие таблицы или очистить всю базу данных.Проверьте эту ссылку для справки.