我有一个模型可以创建一篇文章,我希望它具有“国家/地区”的价值。和'类别。'我希望能够按这些值进行过滤。因此,如果有人点击该国家/地区,它将返回该国家/地区的所有文章,并且可以按类别进一步过滤。
模特:
class Article(models.Model):
"""Represents a wiki article"""
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=50, unique=True)
text = models.TextField()
author = models.ForeignKey(User)
is_published = models.BooleanField(default=False, verbose_name="Publish?")
created_on = models.DateTimeField(auto_now_add=True)
objects = models.Manager()
published = PublishedArticlesManager()
country = models.ChoiceField(max_length=100)
category = models.CharField(max_length=100)
我想要做的是使用此网址:
url(r'^country/(?P<country\w+)' , 'wiki.views.country',
name = 'wiki_country'),
其中country来自用户点击链接,然后该链接返回一个页面,其中包含与该国家/地区的文章相对应的文章
这是一个目前列出所有文章的模板片段
{% if object_list %}
<h2 class="articlePageTitle">All Articles</h2>
<h3>Filter by country</h3>
<h3>Filter by category</h3>
<ul>
{% for article in object_list %}
<li>
<a href="{% url wiki_article_detail article.slug %}">{{ article.title }}</a>
</li>
{% endfor %}
</ul>
我想我可以在模板标记中添加过滤器,但我不确定在视图中要做什么。
答案 0 :(得分:0)
&#34; Article.objects.filter(国家= COUNTRY_NAME)&#34;将使用country = country_name返回所有Article对象。