Python 在Django洗牌queryset
我只想在django洗牌queryset的一部分Python 在Django洗牌queryset,python,django,django-queryset,Python,Django,Django Queryset,我只想在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=lam
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())
你能澄清一下“洗牌”是什么意思吗?