首页 > 解决方案 > Django模板循环不必要地以随机顺序获取项目

问题描述

我在 Ubuntu 18.04.1 上使用 Django 2.2 和 psql 10.8。

我有一组要迭代并在模板中呈现结果的项目。

预计它们将完全按照它们在数据库中创建的顺序(按 pk)呈现。但是,它们似乎以随机顺序呈现。

使用 sqlite 时不会出现该问题。

我还没有找到解决这个问题的方法;反向迭代对象也不会产生所需的行为。代码的一个简单部分是:

<div class="row">
    <ul class="tabs">
        {% for category in categories %}
        <li class="tab col s3"><a href="#{{category}}">{{category}}</a></li>
        {% endfor %}
    </ul>
</div>

假设我创建了四个类别 A、B、C、D;在 dev 中使用 sqlite 时,它​​们将在前端页面上按该顺序呈现。

使用 psql,我看到一个无序的结果。

感谢您在正确方向上的任何帮助!

标签: djangopostgresql

解决方案


推荐阅读