python - 以随机方式一个一个地获取所有对象
问题描述
这是另一篇文章的代码:
from random import randint
count = article.objects.all().count()
random_index = randint(0, count - 1)
all_articles_query = article.objects.all()
article = all_articles_query[random_index]
但现在我想从列表 all_articles_query 中删除文章,并多次删除。我想对文章列表进行排序,然后对随机文章进行排序,每次我对随机文章进行排序以将其从文章列表中移出。
我想以一种随机的方式一篇一篇地获取所有文章。
问候
解决方案
我认为您可以尝试使用random.randrange:
import random
article_list = list(article.objects.all()) # evaluating queryset before everything
while article_list:
sample = article_list.pop(random.randrange(len(article_list)))
print(sample)
推荐阅读
- azure-sql-database - Sql数据库弹性池和sku组合无效
- python - Python嵌套列表的最高级别?
- java - 如何使用 javax.ws.rs.client.Invocation.Builder 忽略无法识别的属性?
- java - JDialog 仅在程序结束时加载
- python-3.x - 在 Python 中读取文本文件时如何评估转义字符
- javascript - 当不存在的键存在时 Mongoose 抛出错误
- spring-boot - 将 Spring Boot Actuator 与 New Relic 集成
- javascript - 使用 NHL api 提取球员统计数据
- python - 当我安装 pip install pyaudio 时出现错误
- javascript - 将其他文件夹中的函数添加到此文件夹中的对象