python - 如何使用 mongoengine 在布尔字段上使用 order_by
问题描述
我想在两个不同的字段上订购我的 mongoengine 调用的结果。
- 打开。这具有 True 或 False 状态。我想要这个,因为我想首先显示未解决的问题
- 开放日期。因为我想将最新的问题显示在顶部。
结合这应该创建一个列表,我可以在其中看到未解决的问题(按创建日期排序),而不是已经关闭的问题,也按创建日期排序。
我开始的代码是:
调用 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')
我的第一个建议是在 order_by 中添加“状态”(可能有或没有 + 或 - )就可以了。但到目前为止还没有运气。
比我试图只在空地上点菜,因为我认为我只是在将两者结合起来时犯了一个错误。所以我得到了这个:
@queryset_manager
def questions_of_user(doc_cls, queryset):
return queryset.filter(questioner=current_user.id).order_by('-open')
然而,这并没有奏效。我希望有人可以帮助我。提前致谢
解决方案
order_by
在查询集的方法中可以传递多个键。
queryset.filter(questioner=current_user.id).order_by('-open', '-openDate')
推荐阅读
- node.js - 试图从 req.body 捕获数据它给我带来了一个空对象?
- android-studio - Android Studio Flutter 调试 FileSystemException
- django - Django 无法将模型加载到视图中
- bash - 使用 AWK 根据第一列合并唯一行
- android - 如何在点击时选择随机颜色?
- node.js - Clasp 登录失败:“检索访问令牌时出错...”
- java - Java迷宫打破封闭
- tomcat - 如何使用 java.util.logging.SimpleFormatter 为 Tomcat 的控制台日志指定单独的日志格式
- angular - 类型上不存在属性“播放器”
- sql - 为什么我不能在 SQL 中创建聚合平均日期差异列