【发布时间】:2011-03-04 03:41:20
【问题描述】:
我的模型上有一个属性,允许用户订购对象。我必须根据一个列表更新元素的顺序,该列表包含新顺序中的对象 ID;现在我正在遍历整个查询集并一个接一个地设置一个对象。对整个查询集执行相同操作的最简单/最快的方法是什么?
def update_ordering(model, order):
""" order is in the form [id,id,id,id] for example: [8,4,5,1,3] """
id_to_order = dict((order[i], i) for i in range(len(order)))
for x in model.objects.all():
x.order = id_to_order[x.id]
x.save()
【问题讨论】:
标签: python django performance list django-queryset