Book.objects.all() не возвращает ничего, хотя книги существуют в базе данных Django
У меня есть страница книги, которая показывает все книги в базе данных, но она не показывает ни одной книги, хотя книги существуют в базе данных и на странице администратора, и я не знаю почему. Модель для книги следующая:
book_status = [
('Available', 'Available'),
('Borrowed', 'Borrowed'),
]
id = AutoField(primary_key=True)
title = models.CharField(max_length=250)
author = models.CharField(max_length=250, null=True, blank=True)
borrowing_period = models.IntegerField(null=True, blank=True)
publication_year = models.IntegerField(null=True, blank=True)
isbn = models.IntegerField(null=True, blank=True)
status = models.CharField(max_length=50, choices=book_status, null=True, blank=True)
slug = models.SlugField(_("slug"), null=True, blank=True)
def __str__(self):
return self.title
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
super(Book, self).save(*args, **kwargs)
функция представления:
def books(request):
searchf = Book.objects.all()
if request.method == 'POST':
cat = request.POST['category']
if cat == 'ISBN':
isbn = None
if 'search' in request.POST:
isbn = request.POST['search']
if isbn:
searchf = searchf.filter(isbn__icontains=isbn)
elif cat == 'Title':
title = None
if 'search' in request.POST:
title = request.POST['search']
if title:
searchf = searchf.filter(title__icontains=title)
elif cat == 'Author':
author = None
if 'search' in request.POST:
author = request.POST['search']
if author:
searchf = searchf.filter(author__icontains=author)
elif cat == 'Year':
Year = None
if 'search' in request.POST:
Year = request.POST['search']
if Year:
searchf = searchf.filter(publication_year__icontains=Year)
return render(request, 'books.html', {
'books': searchf,
'category': Category.objects.all()
})
категории поиска появляются на странице книг, а книги - нет. HTML-шаблон: