0

I want to order the result of my mongoengine call on two different fields.

  1. Open. This has status True or False. I want this because I want to display the open questions first
  2. Opendate. Because I want to newest questions to show on top.

Combined this should create a list where I can see on top the open questions (ordered by creation date) and than the already closed questions, also ordered by creationdate.

The code I started with is:

To call the API:

questions = Questions.questions_of_user

To handle the call:

@queryset_manager
def questions_of_user(doc_cls, queryset):
    return queryset.filter(questioner=current_user.id).order_by('-openDate')

My first suggestion was to just add 'status' to the order_by (maybe with or without + or - ) would do it. But so far no luck.

Than I tried to only order by the open field, because I thought I was just making an mistake combining the two. So I got this:

@queryset_manager
def questions_of_user(doc_cls, queryset):
    return queryset.filter(questioner=current_user.id).order_by('-open')

That however did not work as well. I hope someone can help me out. Thanks in advance

1 Answers1

1

More than one key can be passed in the order_by method of the queryset.

queryset.filter(questioner=current_user.id).order_by('-open', '-openDate')
Oluwafemi Sule
  • 36,144
  • 1
  • 56
  • 81