Нет такой колонки: Blog_post.category_id
Я пытаюсь создать категорию для каждого поста. Я сделал другой класс с тем же models.py и в том же классе Post я сделал category = models.ForeignKey
Но он продолжает показывать мне эту ошибку, когда я запускаю сервер:
(нет такой колонки: Blog_post.category_id)
Ps: Я выполнил команду makemigrations и команду migrate. В руководстве я просто добавил модель, как она есть в models.py, но должен ли я также сделать функцию для views.py или это просто проблема модели?
models.py
class Category(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Post(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE, default="Some random thing")
Удалите default="Some random thing" в вашем поле категории, default значение для внешнего ключа вашей Category модели, должно быть закрытым ключом (pk (aka id (type == integer))), но not the string.
Если вы просто удалите это значение по умолчанию, оно будет работать, или вы можете поместить default=1 в качестве первого объекта вашей Category модели, которая будет по умолчанию для ваших новых Post объектов
class Post(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE)
или
class Post(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE, default=1)