【发布时间】:2022-01-14 10:27:51
【问题描述】:
我正在尝试根据文章标题在字母标题下列出“文章”查询的结果,例如:
一个
- 苹果
- 食蚁兽
B
- 蜜蜂
- 蝙蝠
等
我知道我可以在视图中使用查询集和过滤器手动执行此操作,但是否有更 Pythonic 的方法呢?我最初的想法是模板中的一对 for 循环,一个带有字母表,另一个带有文章,类似于 {% if article.startwith({{ letter}}) %} 但我不认为这是包含在 Django 模板语言中。
型号:
class Article(models.Model):
title = models.CharField(max_length=200)
tagline = models.CharField(max_length=75, blank=False, default='Required')
author = models.ForeignKey(
get_user_model(),
on_delete=models.SET_NULL,
null = True
)
created = models.DateTimeField(auto_now_add=True)
department = models.ForeignKey(Department, on_delete=models.SET_NULL, null=True, blank=True)
tags = TaggableManager()
banner_image = models.ImageField(upload_to='wiki_images/banners', null=True, blank=True)
body = models.TextField()
我也考虑过 Django 重组标签,但很难理解如何将每篇文章标题的第一个字母传递给它。
在这个项目上运行 Django 3.1。 编辑:错字
【问题讨论】:
标签: django django-views