Как перебрать словарь наборов запросов в шаблоне Django - PullRequest
0 голосов
/ 30 августа 2018

Это мой словарь, который я вижу:

{'questions_in_topic': <QuerySet [{'question_id__description': 'Describe your most significant leadership experience'}, {'questi
on_id__description': 'Which kind of leader are you?'}]>}

Как показать отдельные вопросы в шаблоне django?

Вид ниже:

def get_question_from_topic(request):
    if request.method == "GET":
        questions_in_topic = QuestionTopic.objects.filter(topic_id=request.GET['topicId']).values('question_id__description').order_by('question_id__description')
        print(questions_in_topic)
        context = { 'questions_in_topic': questions_in_topic }
        print(context)
        return render(request, 'recruiter/add_question_library.html', context)
    return render(request, 'recruiter/add_question_library.html', context)

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Если вы получаете доступ только к одному полю из набора запросов, тогда использование values_list , вероятно, лучше для ваших нужд

Изменение

questions_in_topic = QuestionTopic.objects.filter(topic_id=request.GET['topicId']).values('question_id__description').order_by('question_id__description')

К

questions_in_topic = QuestionTopic.objects.filter(topic_id=request.GET['topicId']).order_by('question_id__description').values_list('question_id__description', flat=True)

После этого questions_in_topic будет список строк. Затем вы можете использовать их в своем шаблоне так:

{% for question in questions_in_topic %}
    Question: {{ question }}
{% empty %}
    There are no questions.
{% endfor %}
0 голосов
/ 30 августа 2018
{% if questions_in_topic %}
{% for question in questions_in_topic %}
    Question: {{ question }}
{% endfor %}
{% endif %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...