2024-04-25 01:33:47 发布
网友
我只想在django洗牌queryset的一部分。在
qs = [obj1(order=0), obj2(order=1), obj3(order=999), obj4(order=999), .....]
queryset按“order”字段排序,该字段可以是0到999之间的任何值。在
最终结果应该是所有不是999的对象都将从0到更高排序
并且只有顺序为999的对象将被洗牌。在
有可能吗?在
如果查询集不是太大,不能作为列表排序,可以执行以下操作:
shuffled = sorted(qs, key=lambda item: item.order if item.order != 999 else 999 + random.random())
如果查询集不是太大,不能作为列表排序,可以执行以下操作:
相关问题 更多 >
编程相关推荐