如何使用 mongoengine 在 booleanfield 上使用 order_by

How to use order_by on booleanfield using mongoengine

我想在两个不同的字段上排序我的 mongoengine 调用的结果。

  1. 打开。这具有状态 True 或 False。我想要这个因为我想要 首先显示未解决的问题
  2. 打开日期。因为我想把最新的问题显示在最上面。

结合这应该创建一个列表,我可以在其中看到未解决的问题(按创建日期排序)和已经关闭的问题,也按创建日期排序。

我开始的代码是:

调用 API:

questions = Questions.questions_of_user

处理来电:

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

我的第一个建议是将 'status' 添加到 order_by (可能有或没有 + 或 - )就可以了。但到目前为止还没有运气。

然后我尝试只按空地订购,因为我认为我只是将两者结合起来而犯了一个错误。所以我得到了这个:

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

然而,这并没有奏效。我希望有人能帮助我。提前致谢

More than one key可以在queryset的order_by方法中传入

queryset.filter(questioner=current_user.id).order_by('-open', '-openDate')