首页 > 解决方案 > 以随机方式一个一个地获取所有对象

问题描述

这是另一篇文章的代码:

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 中删除文章,并多次删除。我想对文章列表进行排序,然后对随机文章进行排序,每次我对随机文章进行排序以将其从文章列表中移出。

我想以一种随机的方式一篇一篇地获取所有文章。

问候

标签: pythondjangodjango-queryset

解决方案


我认为您可以尝试使用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)

推荐阅读