Нет такой колонки: 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)