【发布时间】:2020-09-25 01:58:48
【问题描述】:
我正在尝试打印一个包含拍卖网站所有可用类别的页面。现在它正在打印表中的每个实例。例如,“动物”作为一个类别有多个打印输出 - 但我只想显示一个。
最好的方法是什么?
我尝试了“distinct”方法,但它似乎没有做任何事情。
下面是我的相关代码:
views.py:
def categories(request):
query = NewPost.objects.all().distinct()
return render(request, "auctions/categories.html", { "queries": query })
categories.html:
{% extends "auctions/layout.html" %}
{% block body %}
<h2>Categories</h2>
{% for query in queries %}
<li><a href="/categories/{{ query.category }}">{{ query.category }}</a></li>
{% endfor %}
{% endblock %}
【问题讨论】:
-
在您的代码中
.distinct()将显示所有行,因为每一行都包含该行的PK,因此根据定义,所有行都是不同的。 -
ooo 所以如果我做了一个过滤器(category = category).distinct() 那么它应该是好的?
-
query = NewPost.objects.values("category").distinct()