gpt4 book ai didi

python - 如何随机化 django 模板中两个查询集的结果

转载 作者:行者123 更新时间:2023-12-01 03:55:45 26 4
gpt4 key购买 nike

friend 们,我想知道如何在 django 模板中呈现两个不同查询集的结果。

我的views.py如下:

def index(request):
answers = Answer.objects.filter(user=request.user)
questions = Question.objects.filter(user=request.user)
return render(request,"welcome/index.html",locals())

我的模板是:

{% extends "layout.html" %}
{% block content %}
{% for q in questions %}
{{ q.title }}
{% endfor %}

{% for a in answers %}
{{ a.answer }}
{% endfor %}
{% endblock %}

但正如预期的那样,这首先列出了问题,然后列出了答案。我想要随机显示的问题和答案。答案和问题在模板中可以按任何顺序出现。 friend 们,我该怎么做?

最佳答案

使用shuffle功能?

import random

def index(request):
answers = Answer.objects.filter(user=request.user)
questions = Question.objects.filter(user=request.user)

mixed = list(answers) + list(questions)
random.shuffle(mixed)

return render(request,"welcome/index.html",locals())

现在,您有一个混合列表,它是......混合的。你可以循环它。您可以使用以下命令在模板中检查其类型:

{% for item in mixed %}
{% if item.answer %}
{{ item.answer }}
{% else %}
{{ item.title }}
{% endif %}
{% endfor %}

(只需确保问题没有答案字段)

关于python - 如何随机化 django 模板中两个查询集的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37489336/

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