H.fate
H.fate

Reputation: 644

Django, How to get random posts list result?

CODE: views.py (I used django-rest-framework)

class PostViewSet(viewsets.ModelViewSet):
    serializer_class = PostSerializer
    queryset = Post.objects.all()

    def get_queryset(self) :
        elasped_minutes_after = datetime.now() - timedelta(minutes=600)
        self.list_after = Post.objects.filter(created_date__gte = elasped_minutes_after).order_by("?")          
        return self.list_after

Question :

What i want to know is that If self.list_after was longer or equal 33, for example self.list_after has 50 posts, How to show 33 posts for random and if length of self.list_after was shorter than 33, For example, self.list_after has 20 posts, How to show 20 posts all.

Would you help me?

Upvotes: 0

Views: 552

Answers (1)

Marat
Marat

Reputation: 15738

To make it an official answer, use slicing:

...
return self.list_after[:33]          

Note that the result is still a queryset, not a list

Upvotes: 1

Related Questions