我正在尝试将类别部分添加到我的博客宠物项目中;我觉得自己快到了,但是在工作的最后一部分,我看到了一个错误: “ OperationalError位于/没有此类表:blog_post_categories”
我的models.py
class Post(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
categories = models.ManyToManyField('Category', related_name='posts')
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('post-detail', kwargs={'pk': self.pk})
class Category(models.Model):
name = models.CharField(max_length=20)
我的views.py
def home(request):
content = {
'posts': Post.objects.all()
}
return render(request, 'blog/home.html', content)
def blog_category(request, category):
posts = Post.objects.filter(
categories__name__contains=category
).order_by(
'-created_on'
)
content = {
'category': category,
'posts': posts
}
return render(request, 'blog/blog_category.html')
我不太清楚为什么,但是调试器显示第0行的base.html
有问题
“在模板/media/john/DATA/DJANGO/WORKING/blog/templates/blog/base.html, error at line 0"
base.html模板中的一些代码
1 {% load static %}
2 <!DOCTYPE html>
3 <html lang="en" dir="ltr">
4 <head>
5 <meta charset="utf-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
8 <link rel="stylesheet" href="{% static 'blog/main.css' %}">
...
答案 0 :(得分:0)
对于"OperationalError at / no such table: blog_post_categories"
-我认为您可能缺少迁移(manage.py makemigrations
/ manage.py migrate
)。
答案 1 :(得分:0)
因此,经过一天的忙碌,我厌倦了寻找错误并没有解决任何问题。
我的错误的解决方案是删除数据库(rm db.sqlite3
)并运行python3 manage.py migrate
希望它会帮助其他人解决此错误。
P.S:我真的不知道为什么会出现此错误,如果有人有答案,请告诉我,我对这个小而烦人的错误感到很好:)