无法访问管理器

Manager isn't accessible

提问人:caio oliveira 提问时间:11/17/2023 更新时间:11/18/2023 访问量:34

问:

Manager error

在模型中查看*****

class detail(DetailView):
    model = Requisicao
    context_object_name = 'requisicao'
    template_name = 'detail.html'
    pk_url_kwarg = 'pk'
    


 
class itemManager(models.Manager):

    def get_queryset(self):
        return super(itemManager, self).get_queryset()  

首先,感谢您的时间和帮助。

我正在尝试从此查询集中获取项目,但它在我的浏览器中显示此错误。

我想知道如何解决它。

django django 视图

评论

0赞 willeM_ Van Onsem 11/17/2023
这没有多大意义:您使用 ,因此它会将单个对象传递给模板。DetailView

答:

0赞 willeM_ Van Onsem 11/18/2023 #1

在 a 中这样做是很奇怪的:a 用于处理单个对象,而不是这些对象的列表。但基于错误,您希望呈现模型对象的某种表。DetailViewDetailView

在这种情况下,a 更合适,使用:ListView

from django.views.generic import ListView


class RequisicaoListView(ListView):
    model = Requisicao
    context_object_name = 'requisicao'
    template_name = 'list.html'

并使用以下命令枚举项目:

{% for obj in object_list %}
    <!-- … -->
{% endfor %}

注意:在 Django 中,基于类的视图 (CBV) 通常有一个后缀,以避免与模型名称发生冲突。 因此,您可以考虑将视图类重命名为 ,而不是 detail…ViewRequisicaoListView


注意:可能值得看看 django-tables2 [GitHub] 以有效的方式渲染表格。