You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行服务器点击问题触发AttributeError: function has no attribute all求助

AttributeError: 'function' object has no attribute 'all' 问题解决

启动服务器后点击浏览器中的问题时触发了AttributeError,提示“function has no attribute all”,问题出在你的DetailView代码里:

你在DetailView中定义了def queryset(self):方法,但Django的DetailView(以及所有基于类的通用视图)用来获取查询集的方法是get_queryset(self),而非queryset。你把方法名写错了,导致Django将这个方法当成了普通函数,当框架尝试调用查询集的.all()方法时,自然会报错。

修正方法1:使用get_queryset方法

修改DetailView的方法名:

class DetailView(generic.DetailView):
    model = Question
    template_name ='pulls/detail.html'
    
    def get_queryset(self):
        """
        Excludes any questions that aren't published yet.
        """
        return Question.objects.filter(pub_date__lte=timezone.now())

修正方法2:直接设置queryset类属性

如果你的查询集不需要根据请求动态调整,也可以直接定义类属性:

class DetailView(generic.DetailView):
    model = Question
    template_name ='pulls/detail.html'
    queryset = Question.objects.filter(pub_date__lte=timezone.now())

内容的提问来源于stack exchange,提问作者Abu Mus'ab Auna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 20:15:42