Как я могу показать последние 4 сообщения в django?

Я пытаюсь показать последние 4 сообщения с помощью Django, используя Class-Based Views, но на странице не отображаются данные (сообщения). вот код: views.py :

class PostList(ListView):
    model=Post
    paginate_by=10
    context_object_name='all_posts'
    ordering=['-created_at']
    latest=model.objects.order_by('-created_at')[:4]

templates/post_list.html :

{% for post in latest  %}
                <div class="col-sm-12 col-md-6 col-lg-3" >
                    <!-- cards-->
                    <div class="card ">
                        
                        <img src="{{post.image.url}}" class="card-img-top" alt="...">
                        <div class="card-body">
                        <h5 class="card-title">{{post.title}}</h5>
                        <p class="card-text">{{post.content}}</p>
                        <a href="#" class="btn btn-primary">Go somewhere</a>
                        </div>
                    </div>

                    <!-- ends cards-->
                </div>
                {% endfor %} 

моя благодарность

Используйте get_aueryset() для этого!

Здесь находится Django documentations

class PostList(ListView):
    template_name = "templates/post_list.html"
    model = Post
    ordering = ["-created_at"]
    context_object_name = "all_posts"

    def get_queryset(self):
        queryset = super().get_queryset()
        data = queryset[:4]
        return data
Вернуться на верх