Django按特定顺序从ID数组获取QuerySet

这是一个快速的为您服务的:

我有一个ID列表,我想用它返回QuerySet(或数组(如果需要的话)),但是我想保持该顺序。

谢谢

回答:

我认为你不能在数据库级别强制执行该特定命令,因此你需要使用python来代替。

id_list = [1, 5, 7]

objects = Foo.objects.filter(id__in=id_list)

objects = dict([(obj.id, obj) for obj in objects])

sorted_objects = [objects[id] for id in id_list]

这将建立一个以id为键的对象字典,因此在建立排序列表时可以轻松检索它们。

以上是 Django按特定顺序从ID数组获取QuerySet 的全部内容, 来源链接: utcz.com/qa/429868.html

回到顶部