Запрос к базе данных не работает при развертывании проекта Django/Python на Heroku
Я развертываю проект Django на Heroku. Развертывание прошло успешно, и большинство функций моего веб-приложения работают нормально. Однако у меня возникла проблема с одним запросом к базе данных, который, похоже, не работает корректно на Heroku, но прекрасно работает на localhost.
Я использую этот шаблон url_pattern:
path('category/<str:cats>/', CategoryView, name='category'),
Затем в моих представлениях я запускаю этот фильтр queryset в моем CategoryView:
def CategoryView(request, cats):
category_articles = Article.objects.filter(category=cats.replace('-', ' '))
return render(request, 'category.html', {'cats': cats.title().replace('-', ' '),
'category_articles': category_articles})
У меня нет модели категорий. Вместо этого я использую forms.py для запуска выбора категории следующим образом:
CATEGORY_CHOICES = (
('Politics', 'Politics'),
('Business', 'Business'),
('Updates', 'Updates'),
('Education', 'Education'),
)
class ArticleForm(forms.ModelForm):
class Meta:
model = Article
fields = ('article_image', 'author', 'title', 'category', 'body')
widgets = {
'article_image': forms.ClearableFileInput(attrs={'class': 'form-control'}),
'author': forms.Select(attrs={'class': 'form-control'}),
'title':forms.TextInput(attrs={'class': 'form-control'}),
'category': forms.Select(choices=CATEGORY_CHOICES, attrs={'class':'form-control'}),
'body': forms.Textarea(attrs={'class':'form-control',}),
Ниже приведена моя модель статьи:
class Article(models.Model):
article_image = models.ImageField(null=True, blank=True, upload_to="images/")
author = models.ForeignKey(User, null=False, blank=False, on_delete=models.CASCADE)
title = models.CharField(max_length=100)
category = models.CharField(max_length=40)
body = models.TextField()
def __str__(self):
return self.name
В html-форме есть опция выбора для предложенных вариантов. После выбора вариант сохраняется в базе данных, когда пользователь отправляет форму.
Из url_pattern и моего CategoryView я пытаюсь запросить базу данных и отобразить объекты в порядке категорий. К сожалению, это прекрасно работает на моем localhost, но не возвращает ни одного объекта в Heroku. Во время разработки я использовал MySQL, который я настроил с помощью XAMPP. Однако в Heroku я использовал Postgresql.
В чем может быть проблема? Я видел видео, где люди используют sqlite во время разработки и разворачивают проект на Heroku и не возникает никаких проблем.