编程错误 - 关系"blog_app_post"不存在 第 1 行:选择 COUNT(*) 作为"blog_app_post"中的"__count"



每次将数据库部署到heroku时,我的数据库都会出现问题。该代码在localhost上运行良好,但在部署时显示ProgrammingError。

当我从代码中删除类别时,它似乎可以工作,但auth面板仍然存在另一个问题。

这是视图.py代码

class BlogView(ListView): 
model = Post 
template_name = 'blog.html' 
ordering = ['-post_date'] 
paginate_by = 10

def get_context_data(self, *args, **kwargs): 
genres_menu = Category.objects.all()
context = super(BlogView, self).get_context_data(*args, **kwargs)


context["genres_menu"] = genres_menu
print(context)
return context

这是模型.py代码

from django.db import models
from django.contrib.auth.models import User
from django.urls import reverse
from datetime import datetime, date
from ckeditor.fields import RichTextField

class Category(models.Model): 
name = models.CharField(max_length=255)

def __str__(self):
return self.name

def get_absolute_url(self):
return reverse('blog')
class Post(models.Model): 
title = models.CharField(max_length=255) 
author = models.ForeignKey(User, on_delete=models.CASCADE) 
category = models.ForeignKey(Category, on_delete=models.CASCADE) 
thumbnail = models.ImageField(null=True, blank=True, upload_to="thumb_images/blog_post") 
snippet = models.CharField(max_length=255, default='This is a default snippet') 
likes = models.ManyToManyField(User, related_name='blog_posts')

def total_likes(self):
return self.likes.count()
def __str__(self):
return self.title + ' | ' + str(self.author)
def get_absolute_url(self):
return reverse('blog')

这是url.py代码

从.views导入BlogView

urlpatterns = [
path('blog/', BlogView.as_view(), name='blog'),
]

这是的模板代码

{% if genres_menu %} 
<div class="widget-area">

<div class="widget-collapse-btn">                    
<a class="accordion-toggle" data-bs-toggle="collapse" href="#collapseExample" role="button"
aria-expanded="false" aria-controls="collapseExample">
<h4 class="widget-collapse-title">Categories</h4>
</a>
</div>

<div class="collapse" id="collapseExample">
<div class="card card-body none-box">
<ul class="category-collapse">
{% for item in genres_menu %}
<li class="category-collapse-list">
<a href="{% url 'category' item|slugify %}">{{ item }}</a>
</li>

{% endfor %}

</ul>
</div>
</div>

</div>
{% endif %}

我试着用-python manage.py flush、makemigration清除数据库,然后再次迁移,但它保持不变。

对于这种问题,即使刷新迁移也不起作用,您只需要删除表blog_app_post。在迁移后运行python manage.py makemigrations app_name之后运行python manage.py sqlmigrate app_name 0001_initial,这将生成该特定应用程序的所有架构,然后查找表blog_app_post架构并复制它,然后手动创建该表。如果您的数据库是postgres,则只需连接到数据库并粘贴该架构。注意:这个解决方案实际上在开发模式或本地服务器中都很好

最新更新