显示具有外键关系的类别中的所有书名

时间:2017-11-02 13:49:40

标签: python django

当我点击某个类别时,我想自动显示该类别中的所有图书。

让我们说我在example.com/category/2,我想以某种方式在category.id为2时获取Category.name,然后在其他模型book.category上搜索(过滤)并得到book.title

如果我能获得一些显示数据所需的循环模板代码,我将不胜感激。

models.py

class Category(models.Model):
   name=models.CharField(max_length=50)

    class Meta:
        verbose_name_plural ="Categories" 
    def __unicode__(self):  
        return self.name

class Book(models.Model):
    title=models.CharField(max_length=200)`
    category=models.ForeignKey(Category,related_name='book_category', null=True)

    def __unicode__(self):
        return self.title

views.py

def category(request, category_id=1):
    category=Category.objects.get(id=category_id)

    return render(request, 'view_category.html', {
        'category': category,
    } )

urls.py

url(r'^category/(?P<category_id>\d+)/$', 'seminar.views.category'),

1 个答案:

答案 0 :(得分:3)

在您的模板中,您可以显示以下类别的所有图书:

{% for book in category.book_category.all %}
    {{ book.title }}
{% endfor %}