Umu*_*acı 1 django django-generic-views
存在通用视图使我们的生活变得更容易,但是花在理解这些东西如何工作上的时间使得它们实际上变得更难.也许是我,但我试图想办法解决这个问题很长一段时间,我可以轻松地自己写一下这个观点并继续前进,但我坚持要学习它.
我想要显示一个自定义的DetailView类,代码抛出:
'Sculpture' object has no attribute 'filter'
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
Run Code Online (Sandbox Code Playgroud)
我知道它需要一个线路修复 - 最多但无法弄清楚.
和想法?
要返回单个对象,请使用get_object
class SculptureDetailView(DetailView):
"""docstring for SculptureDetailView"""
def get_object(self):
sculpture = get_object_or_404(Sculpture, slug=self.kwargs['slug'])
return sculpture
Run Code Online (Sandbox Code Playgroud)