Home > other >  How to use limit and order_by together in Django rest-framework?
How to use limit and order_by together in Django rest-framework?

Time:02-01

I want to use limit on following as [1:10]

data = GroupPostsModel.objects.filter(
        group_id=group_id) & GroupPostsModel.objects.filter(post_type=post_type).order_by('-time_stamp')

I try this

data = GroupPostsModel.objects.filter(
        group_id=group_id & GroupPostsModel.objects.filter(post_type=post_type)[1:10].order_by('-time_stamp')

But did not work..!

CodePudding user response:

Order first, then slice. Like so:

data = GroupPostsModel.objects.filter(group_id=group_id, post_type=post_type).order_by('-time_stamp')[1:10]

Note: It's advised to wrap slices on QuerySets in try except functions. As if the slice fails then it will raise an exception

CodePudding user response:

Assuming that the query given above works,

data = GroupPostsModel.objects.filter(
        group_id=group_id) & GroupPostsModel.objects.filter(post_type=post_type).order_by('-time_stamp')

data=  data[1:10]

Or You can just follow this syntax

data = ClassName.objects.filter(your conditions)[1:10]
  •  Tags:  
  • Related