Как добавить показ последних сообщений категории в подробной статье
Views.py
def PostView(request,slug):
Postdata = Post.objects.get(slug=slug)
side_data = Post.objects.all()
category_posts = Post.objects.filter(category__cat_slug=slug)
return render(request,'post-detail.html',{'Postdata':Postdata,'side_data':side_data,'category_posts':category_posts})
Models.py
class Category(models.Model):
name = models.CharField(max_length=100)
category_description = FroalaField()
cat_slug = models.SlugField(max_length=200, null=False)
def __str__(self):
return self.name
options = (
('draft', 'Draft'),
('published', 'Published'),
)
class Post(models.Model):
title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(max_length=200, unique=True)
category = models.ForeignKey(
Category, on_delete=models.CASCADE,null=True,)
author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='myapp_post')
updated_on = models.DateTimeField(auto_now= True)
content = FroalaField()
feature_img = models.ImageField(upload_to = 'images/', null=False)
status = models.CharField(max_length=10, choices=options, default='draft')
created_on = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-created_on']
def __str__(self):
return self.title
Post-detail.html
<h4>Related Post</h4>
<br>
{% for data in category_posts %}
<h4>{{data.title}}</h4>
{% endfor %}
Я пытаюсь добавить категорию, связанную с последними сообщениями в статье.
Пример
Если статья в категории называется Django Tutorial. В детали статьи я хочу добавить связанное последнее сообщение этой категории.
Вы можете попробовать следующее :
Post.objects.filter(slug=slug).order_by('-id')[0]
order by id даст вам последний добавленный экземпляр или вы можете использовать непосредственно :
Post.objects.filter(slug=slug).last()