2014-09-24 3 views
0

У меня есть модель, которая создает статью, и я хочу, чтобы она имела значение для «страны» и «категории». Я хочу иметь возможность затем фильтровать эти значения. Таким образом, если кто-то щелкнет по стране, он вернет все статьи для этой страны и может быть дополнительно отфильтрован по категориям.Фильтр по модели поля, Django

модель:

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'), 

где страна приходит от пользователя щелкнув по ссылке, которая затем возвращает страницу с статьи, соответствующие статьям этой страны

Это фрагмент шаблона, который в настоящее время перечисляет все статьи

{% 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

«Article.objects.filter (country = country_name)» вернет все объекты статьи со страной = country_name.

+0

Добавьте свои views.country, так что будет легко понять реальную проблему. – ancho

+0

Часть просмотров - это то, что я пытаюсь понять. Я буду работать над этим, чем выше. – bamabacho

Смежные вопросы