作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要执行两个数据库查询,即
select * from books
和
select * from chapters where book_id=id
在用户界面上,我需要有一个书籍列表(我可以通过第一个查询获得),并且单击任何一本书,我想使用它的 id 来获取所有章节(来自第二个查询)。我正在尝试创建一个基于类的 View (模板 View ),但在如何在 get_context_data()
中执行这两个查询时遇到问题。我尝试使用 request.GET.get 但失败了。谁能帮忙。
我想要一个用户界面,例如。
Book 1
chapter 1
chapter 2
Book 2
Book 3
最佳答案
有多种方法,最简单的一种是:
https://docs.djangoproject.com/en/1.8/topics/class-based-views/generic-display/#adding-extra-context
假设一些模型/ View 名称:
models.py
class Book(model.Model):
title = CharField()
class Chapter(model.Model):
book = ForeignKey(Book, related_name='chapters')
views.py
class BookDetailView(DetailView):
model = Book
def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
context = super(BookDetailView, self).get_context_data(**kwargs)
# Add in a QuerySet of all the books
context['all_books'] = Book.objects.all()
return context
bookdetails.html
{{ object.title }}
{% for chapter in object.chapters %}
{{ chapter.title }}
{% endfor %}
关于python - 如何在 get_context_data 中执行两个相关的数据库查询,即使用 "request"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33370067/
我是一名优秀的程序员,十分优秀!