gpt4 book ai didi

Django按首字母分组查询集?

转载 作者:行者123 更新时间:2023-12-04 00:09:17 24 4
gpt4 key购买 nike

我有一个 QuerySet 像:

items = Item.objects.all()

项目有一个“名称”字段。在我想展示的模板中:
  • 酒精
  • 火箭筒
  • C
  • 硬币
  • 墨盒
  • 小号
  • 麻雀

  • 因此,项目按第一个字母排序和分组。遗漏的字母被省略。有没有人有任何想法?

    最佳答案

    如果您只关心它在页面上的展示,那么有一个模板标签。首先,在类里面定义一个组织原则。在您的情况下,它是第一个字母:

    class Item(models.Model):
    ...

    def first_letter(self):
    return self.name and self.name[0] or ''

    然后在模板中定义一个重组,使用 first_letter 调用:
    {% regroup items by first_letter as letter_list %}
    <ul>
    {% for letter in letter_list %}
    <li>{{ letter.grouper }}
    <ul>
    {% for item in letter.list %}
    <li>{{ item.name }}</li>
    {% endfor %}
    </ul>
    </li>
    {% endfor %}
    </ul>

    关于Django按首字母分组查询集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4151631/

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