ProgrammingError - отношение "blog_app_post" не существует LINE 1: SELECT COUNT(*) AS "__count" FROM "blog_app_post"
У меня возникает проблема с базой данных каждый раз, когда я развертываю ее в heroku. Код работает нормально на localhost, но при развертывании выдает ProgrammingError.
Когда я удаляю категорию из кодов, это вроде бы работает, но все еще есть другая проблема с auth dashboard.
Вот код view.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
Вот код model.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
from .views import 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 и затем еще раз migrate, но все осталось по-прежнему.
Для такого рода проблем даже промывка миграций не поможет, вам просто нужно удалить эту таблицу blog_app_post. После запуска python manage.py makemigrations app_name после миграции запустите python manage.py sqlmigrate app_name 0001_initial это создаст все схемы этого конкретного приложения, затем найдите схему таблицы blog_app_post и скопируйте ее, затем создайте эту таблицу вручную, если ваша БД postgres, вы просто подключитесь к БД и вставьте эту схему.