- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 django 文档页面上,针对 DetailView
类解释了 get_object
方法。他们使用此代码片段作为示例:
from django.utils import timezone
from django.views.generic import DetailView
from books.models import Author
class AuthorDetailView(DetailView):
queryset = Author.objects.all()
def get_object(self):
obj = super().get_object()
# Record the last accessed date
obj.last_accessed = timezone.now()
obj.save()
return obj
Here's the link 。我不明白的是为什么使用 queryset
属性以及为什么他们从数据库加载作者的所有对象。代码不应该是
考虑到它不是 ListView 而是详细 View
模型 = Author.objects.get(pk=self.pk) ?
最佳答案
简而言之:super().get_object()
将正确执行.get()
关于queryset
属性。
Shouldn't the code be
model = Author.objects.get(pk=self.pk)
? Considering it's not aListView
but aDetailView
.
这已经完成了。标准get_object()
SingleObjectMixin
的方法将过滤 queryset
您使用主键和/或 slug 定义,并返回该对象。您可以在source code [GitHub]中检查此方法。 。虽然真正的方法有点复杂(因为你可以配置 pk
和 slug
字段的名称),但它基本上可以归结为:
# <i>over</i>simplified version!
class SingleObjectMixin(ContextMixin):
# …
def get_object(self, queryset):
return self.get_queryset().get(
pk=self.kwargs['pk'],
slug=self.kwargs['slug']
)
所以你在这里要做的就是创建一个 super().get_object()
调用将对 queryset
进行正确的过滤,然后对 get_object()
检索到的对象进行一些修改方法。
why they are loading all objects of the Author from the database.
他们没有加载任何Author
根本没有对象。 QuerySet
我们很懒。这意味着只要您不“消耗”查询集,它就不会对数据库进行查询。通过使用.get(..)
您将进行查询,但只有一个带有过滤器,因此(通常)检索一条记录。
关于python - 示例使用查询集而不是 DetailView 扩展类的模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59375022/
我正在 Apple Developer 网站上查看适用于 iOS 的 SimpleDrillDown 示例:http://developer.apple.com/library/ios/#sample
我是新手 我的xcode版本是11.2.1,swift是5.1.2 当我在MasterView中使用NavigationView时,我有两个DetailView 我想在第一个DetailView关闭时
I am newbie on python django. when following Django Tutorial > Part04 > Generic View , i have troubl
我是 Django 的新手。有一个 html 页面 (project_details) 应该显示项目的标题和任务,但只显示项目的标题,而不是任务。任务存在,问题出在过滤器上!!! View .py 错
我有一个要显示为详细信息 View 的模型,我创建了一个 ListView ,该 ListView 有一个指向其详细信息 View 的链接。我没有收到任何错误,但模板没有呈现任何模型细节 链接到 De
我有点困惑,并希望利用 DetailView 功能使用外键作为我的过滤器来显示数据。基本上我的模型是这样的: class Category(models.Model): name = mode
我的模型事件有一个基于类的 DetailView,我想显示通过外键关联的类别条目。 模型.py class Event(models.Model): name = models.CharFie
我想返回用户相关记录。有人可以帮助我吗? 我的部分观点 class UserProfileDetailView(DetailView): model = get_user_model()
我正在尝试使用聚光灯结果引导用户到我的应用程序中的相应部分。 MainView 有几个按钮,允许转到应用程序的不同区域,其中之一是电话目录,位于它自己的 SplitViewController 内。
我正在尝试创建主细节 View 应用程序,但有点卡住了。 我有一个包含 100 个 DynamicPrototype Cells 的 tableView 显示 Bars,当我点击一个 cell 时,我
在应用程序中,我有两个模型,名为“类(class)”和“步骤”。每个步骤都属于一个类(class),每个类(class)又包含许多步骤。但是,我在为步骤创建详细 View 时遇到问题。例如,当我转到
我有 2 个模型,我得到了 IndexView使用 get_context_data 正常工作方法。然而我的 DetailView使用相同的技术是行不通的。我如何简单地将 2 个模型放入 Detail
我正在寻找一种优雅的方式来显示 Django 中所有可用的项目(不仅仅是选中的项目)DetailView , 同时对选中的样式进行样式化。 给定以下模型: class Topping(models.M
有没有简单的方法可以强制DetailView在 Yii2 中忽略其 attributes 中的这些字段列表,特别是 model是空的? 或者唯一的方法是定义 attributes 上的每个属性具有自己
我正在尝试在 View 文件中渲染图像。我的代码如下: $model, 'attributes' => [ 'id', 'name',
我收到以下错误: ImproperlyConfigured at /elearning/7447932a-6044-498a-b902-97cbdd0a4001/ DetailView is miss
在我的 DetailView 中,我想根据我的 url 中的 kwargs 获取对象,另外还检索它的所有相关(外键)值。 我用: queryset = Category.objects.select_
我正在制作一个将 PO 导出为 PDF 的采购订单系统,但我需要在上半部分显示来自买方和卖方的数据。我想并排放置 2 个 DetailView,每个都有 50% 的页面宽度。有可能的?到目前为止,我还
在浏览了几个谷歌搜索结果页面后,我仍然陷入同样的问题。我正在尝试在博客文章下方实现评论字段。我感谢任何提示和建议! 我正在 Django 中开发一个博客,该博客设置了第一个通用 ListView
我需要在 Django 中编写一个 DetailView。我实现了这个功能。但是,我需要添加更多数据以及上下文对象。我将如何实现这一目标。 我的一般观点是: class AppDetailsView(
我是一名优秀的程序员,十分优秀!