Я работаю над своей страницей блога, в основном в блоге есть категория для разделения одних и тех же сообщений, для этого я создал класс для категории и установил связь между категорией и моим классом сообщений следующим образом:
class Category(models.Model):
name = models.CharField(max_length=256)
def __str__(self):
return self.name
class Post(models.Model):
image = models.ImageField(upload_to='Posts_image')
title = models.CharField(max_length=256)
configure_slug = models.CharField(max_length=512)
slug = models.SlugField(max_length=512,null=True,blank=True)
content = HTMLField('Content')
date = models.DateTimeField(auto_now_add=True)
categories = models.ManyToManyField(Category)
tags = TaggableManager()
publish = models.BooleanField(default=False)
def __str__(self):
return self.title
после этого я сделал эту функцию
def blog_category(request):
res_posts = Post.objects.all()
category = request.POST.get('categories__name')
if category:
res_post = res_post.filter(
Q(categories__name__icontains=category)).distinct()
context = {
'posts':res_posts,
}
return render(request, 'Blog/category-result.html', context)
Я расскажу вам, как это работает: когда пользователи нажимают на название категории на странице блога, эти функции начинают работать и ищут, сколько сообщений имеет эту функцию. название категории и перечислите их в category-result.html
, но эта функция не работает правильно. Я думаю, что этот код не работает правильно
category = request.POST.get('categories__name')
request.Post не может принимать категории__name когда пользователь нажимает
Можете ли вы помочь мне в этой проблеме ???