【发布时间】:2014-01-08 09:04:16
【问题描述】:
祝大家有美好的一天!
我的应用使用了基于 django 类的通用列表视图。我有两个模型对象:通过外键链接的书籍和出版商(下面的代码)。我想使用 ListView 向出版商展示他们的书籍,但过滤书籍(只获取当前用户拥有的活动书籍)
附加信息:如果可能的话,我不想在模板中使用过滤器。 附加信息 2:我无法通过模型类中的定义使用过滤器,因为我需要访问请求对象
代码
models.py
class Publisher(models.Model):
name = models.CharField(max_length=255)
class Book(models.Model):
name = models.CharField(max_length=255)
active = models.BooleanField(default=True)
publisher = models.ForeignKey(Publisher, related_name='books')
owner = models.ForeignKey(User)
views.py
class ListBooksByPublisher(ListView):
model = Publisher
template_name = 'list.html'
context_object_name = 'books'
list.html
{% for publisher in publishers %}
{{ publisher.name }}
{% for book in publisher.books.all %}
{{ book.name }}
{% endfor %}
{% endfor %}
非常感谢任何帮助!
【问题讨论】:
标签: django foreign-key-relationship django-class-based-views