log*_*gan 1 django foreign-key-relationship django-class-based-views
大家好日子!
我的应用程序使用了基于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)
Run Code Online (Sandbox Code Playgroud)
views.py
class ListBooksByPublisher(ListView):
model = Publisher
template_name = 'list.html'
context_object_name = 'books'
Run Code Online (Sandbox Code Playgroud)
list.html
{% for publisher in publishers %}
{{ publisher.name }}
{% for book in publisher.books.all %}
{{ book.name }}
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢!
您需要覆盖视图上的get_queryset方法以返回自定义查询集
例如:
class ListBooksByPublisher(ListView):
....
def get_queryset(self):
return self.model.objects.filter(blablabla))
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
4262 次 |
| 最近记录: |