gpt4 book ai didi

python - 如何在 get_context_data 中执行两个相关的数据库查询,即使用 "request"?

转载 作者:行者123 更新时间:2023-11-29 21:53:52 25 4
gpt4 key购买 nike

我需要执行两个数据库查询,即

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com