2024-09-30 18:16:42 发布
网友
我使用jQueryUISortable允许用户通过拖放方式对上传的图像进行排序。其工作原理如下:
当他们上传一些图片时,他们会被引导到另一个页面,所有新上传的图片都会显示在左边的一个列中。用户可以按照自己的意愿将照片从左栏放到右栏。我使用jQuery Serialize来获取排序数组。在
我的问题是,如何更新数据库以重新排列图像并保存与Serialize返回的相同的顺序?在
谢谢
不要改变数据库中的顺序,而是让数据库对结果进行排序。你需要做的就是给数据库一些排序依据。在
向模型中添加一个order整数字段,并在用户为图像创建顺序后更新这些值;这是一个简单的编号操作。然后,当您查询要显示的图像时,在该字段上对它们进行排序。在
order
如果图像是在用户之间共享的,则需要将其设置为一个单独的模型;该模型将用户映射到图像,并附加顺序:
class ImageOrder(Model): """Keeps track ordering of images for a given user""" order = IntField() user = ForeignKey(User) image = ForeignKey(Image)
现在,您可以根据图像与给定用户的关系过滤图像,并按order字段对其排序:
然后使用每个ImageOrder实例的.image字段。在
ImageOrder
.image
不要改变数据库中的顺序,而是让数据库对结果进行排序。你需要做的就是给数据库一些排序依据。在
向模型中添加一个
order
整数字段,并在用户为图像创建顺序后更新这些值;这是一个简单的编号操作。然后,当您查询要显示的图像时,在该字段上对它们进行排序。在如果图像是在用户之间共享的,则需要将其设置为一个单独的模型;该模型将用户映射到图像,并附加顺序:
现在,您可以根据图像与给定用户的关系过滤图像,并按
^{pr2}$order
字段对其排序:然后使用每个
ImageOrder
实例的.image
字段。在相关问题 更多 >
编程相关推荐