gpt4 book ai didi

django - 在 Django 中获取不同的随机查询集

转载 作者:行者123 更新时间:2023-11-29 13:30:22 24 4
gpt4 key购买 nike

您好,我正在尝试做一个可以替代此查询的查询集:

SELECT DISTINCT ON (question.exercise_id) question.exercise_id, question.* 
FROM
exercise, question
WHERE exercise.id = question.exercise_id
OFFSET random()*(SELECT count(*) FROM question) LIMIT 5;

之前的查询工作正常,

我尝试在 django 中使用

random_questions = Questions.objects.filter(
text=text # text is a Text instance
).distinct('text').order_by('?')[:5]

但行不通,我搜索并发现我如何使它永远行不通,但我没有找到替代解决方案

谢谢

最佳答案

我没有找到一个答案,所以我能找到的唯一方法是:

texts = Text.objects.all().order_by('?') # add .prefetch_related('questions_text') or .select_related('questions_text') could help to do the query faster
questions = []
for text in texts:
questions.append(
Question.objects.filter(
text=text
).order_by('?')[0]
)

关于django - 在 Django 中获取不同的随机查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25270250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com