使用Django/Python时查找唯一查询值
我试图打印出一个页面,上面有拍卖网站的所有可用类别。现在它正在打印表中的每一个实例。例如,有多个打印输出的“动物”作为一个类别-但我只想让它显示一个 最好的方法是什么?使用Django/Python时查找唯一查询值,python,django,unique,Python,Django,Unique,我试图打印出一个页面,上面有拍卖网站的所有可用类别。现在它正在打印表中的每一个实例。例如,有多个打印输出的“动物”作为一个类别-但我只想让它显示一个 最好的方法是什么? 我尝试了“独特”的方法,但似乎没有任何效果 以下是我的相关代码: views.py: def categories(request): query = NewPost.objects.all().distinct() return render(request, "auctions/categories
我尝试了“独特”的方法,但似乎没有任何效果 以下是我的相关代码: 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 %}
{%extensed“auctions/layout.html”%}
{%block body%}
类别
{%用于查询中的查询%}
{%endfor%}
{%endblock%}
您能给我们提供NewPost
的models.py代码吗。您可能需要查询类别模型(如果有)以获得唯一的类别列表。query=NewPost.objects.values(“类别”).distinct()
将找到一个不同的列值。谢谢大家 在您的代码中,将显示所有行,因为每一行包含该行的主键,因此根据定义,所有行都是不同的。ooo所以如果我做了一个过滤器(category=category.distinct(),那么它应该是好的?query=NewPost.objects.values(“category”).distinct()类NewPost(models.Model):title=models.CharField(max_length=64)description=models.CharField(max_length=64)price=models.IntegerField()category=models.CharField(max_length=64)我没有类别模型…当用户制作新的拍卖帖子时,它是newpost模型的一部分。有一个单独的类别
模型可能是有意义的,然后新帖子
模型中的类别
字段可以指向类别
模型。你仍然可以允许用户在创建新的拍卖帖子时创建新的类别。这很有意义。我现在选择让用户创建自己的类别。谢谢