首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django的通用视图问题(detailview,get_queryset)

django的通用视图问题(detailview,get_queryset)
EN

Stack Overflow用户
提问于 2011-08-25 04:48:49
回答 2查看 2.4K关注 0票数 1

通用视图的存在是为了让我们的生活更轻松,但花在理解这些东西如何工作上的时间实际上让它们变得更加困难。也许是我的问题,但我已经尝试了很长时间来解决这个问题,我可以很容易地自己编写视图,然后继续前进,但我坚持要学习它。

我想要显示一个自定义的DetailView类,代码抛出:

'Sculpture' object has no attribute 'filter'

代码语言:javascript
复制
from django.shortcuts import render, get_object_or_404
from django.views.generic import ListView, DetailView
from sculptures.models import Sculpture

class SculptureListView(ListView):
    """docstring for SculptureListView"""
    def get_queryset(self):
        return Sculpture.objects.all() 
class SculptureDetailView(DetailView):
    """docstring for SculptureDetailView"""
    def get_queryset(self):
        sculpture = get_object_or_404(Sculpture, slug=self.kwargs['slug'])
        return sculpture

我知道它最多需要一行修复--但我无法弄清楚。

还有想法呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-25 04:54:44

顾名思义,get_queryset应该返回一个查询集,而不是单个对象。

票数 8
EN

Stack Overflow用户

发布于 2012-11-16 11:51:36

要返回单个对象,请使用get_object

代码语言:javascript
复制
class SculptureDetailView(DetailView):
    """docstring for SculptureDetailView"""
    def get_object(self):
        sculpture = get_object_or_404(Sculpture, slug=self.kwargs['slug'])
        return sculpture
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7182080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档