对Django中的项目列表进行排序

时间:2010-04-17 10:05:41

标签: django sorting post django-models django-views

我有一个名为change_priority的Django视图。我正在使用逗号分隔的值列表向此视图发布请求,该列表基本上是模型中项目的顺序。数据如下所示:

1,4,11,31,2,4,7

我有一个名为Items的模型,它有两个值 - id和priority。收到此帖子请求后,如何根据列表顺序设置项目的优先级。所以我在数据库中的数据看起来像。

1,1
4,2
11,3
31,4
2,5
4,6
7,7

谢谢你们。

1 个答案:

答案 0 :(得分:2)

你并没有真正详细说明你是如何收到这些信息的,但是这里有一个刺激。

order = data.split(',') # convert data string to a list
objects = MyModel.objects.in_bulk(order)
for i, id in enumerate(order):
    obj = objects['id']
    obj.priority = i
    obj.save()