我有一个我需要抓取的对象的ID列表,然后我必须按时间戳对它们进行排序。这就是我要做的事情:
For i in object_ids:
instance = Model.objects.get(id = i)
# Append instance to list of instances
#sort the instances list
但有两件事让我困扰:
谢谢,
答案 0 :(得分:22)
这可以使用这样的代码来完成:
objects = Model.objects.filter(id__in=object_ids).order_by('-timestamp')
order_by
可以是正数或负数timestamp
,具体取决于您希望如何排序。
答案 1 :(得分:8)
尝试以下方法:
result = Model.objects.filter(id__in=object_ids)
这将返回在Model
的给定列表中具有id
的所有object_ids
个对象。这样,您也不需要将其他模型附加到生成的QuerySet中。