#django #django-models
#django #django-модели
Вопрос:
Я искал другие вопросы, но это просто разные ошибки.
Я разрабатывал простое приложение для форума, и теперь я дошел до той части, где я могу комментировать темы. Но потом я понял, что мне не хватает отношения ForeignKey к теме из комментария. Затем я создал новый ForeignKey, но, как обычно, он просит меня указать значение по умолчанию. Я как раз собирался добавить пустые и нулевые значения true, но затем мои руки просто автоматически выдают asd
значение по умолчанию. Теперь, даже когда мне удается выполнить миграцию с помощью makemigrations, я получаю эту ошибку при создании migrate
как я могу это исправить?
Ответ №1:
Вы должны отредактировать файл миграции, созданный после makemigration. Это поле есть в файле миграции.
Например:
field=models.ForeignKey(default="asd")
Вы должны отредактировать этот раздел и повторно запустить migrate
Комментарии:
1. Я не хотел, чтобы моя голова волновалась из-за этого, и поскольку я не добавил никаких данных, связанных с этой моделью. Я просто удалил все, что связано с комментариями в миграциях. Но да, факт в том, что это решено, и спасибо, что позволили мне учиться.
Ответ №2:
ForeignKey
— это строка в вашей таблице, которая каким-то образом является подмножеством целых чисел. Итак, если вы добавляете ForeignKey
в одну модель после вставки данных в эту модель (без значений по умолчанию и null), он спросит, как вы хотите добавить эту строку, которая не равна null в данных вашей таблицы, и поскольку это поле имеет целочисленный тип, вы должны ввести в это поле допустимое целое число (не string или любые другие типы). Обратите внимание, что целое число, которое вы введете в качестве значения по умолчанию, должно быть допустимым выбором (т. Е. Существует topic
запись с этим целым числом в качестве первичного ключа или первичный ключ вашей связанной таблицы, который вы хотите подключить ForeignKey
к нему), и если нет, вы не сможете запустить migrate
, потому что на этот раз Django поднимет IntegrityError
.