Нет такой колонки: 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)
Вернуться на верх