你能用Django做条件排序吗?
我有一个带有字段你能用Django做条件排序吗?,django,django-models,django-queryset,Django,Django Models,Django Queryset,我有一个带有字段project\u id和timestamp的模型“status”project\u id有时为空,如果状态与项目无关(更具体地说,如果状态发生在我们知道是什么项目导致它之前) 我想按如下方式订购一个输出表: 将具有相同项目id的状态分组在一起 不要将nullproject\u ids分组在一起 按每个组/单例的最新时间戳对这些组和单例进行排序 这能做到吗?我几乎可以通过按时间戳排序,然后使用重组来实现它。这是“几乎”正确的,因为一组相同的项目ID可以通过插入null来分割
project\u id
和timestamp
的模型“status”project\u id
有时为空,如果状态与项目无关(更具体地说,如果状态发生在我们知道是什么项目导致它之前)
我想按如下方式订购一个输出表:
- 将具有相同
项目id的状态分组在一起
- 不要将null
s分组在一起project\u id
- 按每个组/单例的最新时间戳对这些组和单例进行排序
我很确定这可以在SQL中完成(GROUP BY isnull(experiment_id,-id)),但Django允许吗?对于Django中的聚合,最好使用原始SQL,因为它比生成的orm SQL快得多 太棒了,我不知道你能做到。