Django按请求值(id__in)的查询集排序

标签 django

我通过 ID 列表查询 Django 表

hclistofcases = testcase.objects.filter(id__in="[182, 180, 184, 179, 178, 181, 183"))

这句话返回一个查询集,但是查询集不在列表顺序中(即记录第 182 条和最后记录 183 条)。有没有办法确保按列表顺序返回查询集?我目前使用 sqlite 作为数据库

任何hep将不胜感激

谢谢

授予

最佳答案

empty = testcase.objects.none()
_ = []
for i in [182, 180, 184, 179, 178, 181, 183]:
    _.append(testcase.fiter(id=i))
return empty.union(*_)

关于Django按请求值(id__in)的查询集排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42535137/

相关文章:

python - 如何在 python 中启动子进程而不是等待它返回

python - 动态填充的 Django 字段不显示选择

mysql - Django - 如何从我想要从中获取对象的表中没有外键的表中获取值?

django - 使用 sqlite 运行 django 测试

python - blog.Post : (models. E014) 'ordering' 必须是元组或列表(即使您只想按一个字段排序)。在 Django

相对于原始 SQL,Django 查询速度较慢

jquery - Django/Jquery UI 对话框 - 如何将 Django 与 JqueryUI 对话框集成?

Django - 匹配查询不存在

django - 如何在 supervisor、gunicorn 和 django (1.6) 中使用环境变量

python - Django - 包含的 urlconf 中没有任何模式