代码之家  ›  专栏  ›  技术社区  ›  Mridang Agarwalla

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

  •  2
  • Mridang Agarwalla  · 技术社区  · 14 年前

    我有一个叫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 回复  |  直到 9 年前
        1
  •  2
  •   Daniel Roseman    14 年前

    你并没有详细说明你到底是如何收到这些信息的,但这里有一个尝试。

    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()