在django模板中按id的顺序显示查询集及其外键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在django模板中按id的顺序显示查询集及其外键相关的知识,希望对你有一定的参考价值。

我正在建立一个测验计划。每个测试都有问题,问题有选择。选项具有问题的外键,问题具有测试的外键。一切都是好的。但有时候在模板中显示这些选项时,选择会以相反的顺序出现,有时选择d首先出现,选择A出现在最后。

这是代码:

{% for question in test.sscquestions_set.all %}

    <div class='well quest'>
         <h3 style= 'font-weight:bold;'> {{question.text}} </h3>   
               {% for choice in question.choices_set.all %}
                     <p> {{choice.text}}</p>
    </div>
{%endfor%}

如何始终按特定顺序显示选项(即,OptionA优先,选项D最后)

答案

或者您可以在模型中指定排序。

class Option(models.Model):
    class Meta:
        ordering = ['pk']
另一答案

定义一个字段以供选择,例如choice_number,然后使用

queryset|dictsort:'choice_number'

以上是关于在django模板中按id的顺序显示查询集及其外键的主要内容,如果未能解决你的问题,请参考以下文章

Django 将带有外键的查询集转换为 JSON

Django:如何编写查询以使用多列进行排序,通过模板显示

在 admin 中按外键 id 搜索

告诉django不要跟随外键?

在 URL 中同时显示 slug 和 ID,但仅在 Django 中按 ID 路由

Django:如何使用查询集并在模板中显示结果?