Django 配置不当的DetailView缺少查询集

Django 配置不当的DetailView缺少查询集,django,django-views,Django,Django Views,我试图为我的模型使用一个通用的DetailView,但我得到了一个错误:ClassroomDetailView缺少一个QuerySet。定义ClassroomDetailView.model、ClassroomDetailView.queryset或重写ClassroomDetailView.get_queryset()。我见过其他人出现类似错误,解决方法通常是他们的url模式没有正确引用他们的视图名称。但是我找不到我的打字错误。我的理解是,通用DetailView不需要查询集 models.p

我试图为我的模型使用一个通用的DetailView,但我得到了一个错误:
ClassroomDetailView缺少一个QuerySet。定义ClassroomDetailView.model、ClassroomDetailView.queryset或重写ClassroomDetailView.get_queryset()。
我见过其他人出现类似错误,解决方法通常是他们的url模式没有正确引用他们的视图名称。但是我找不到我的打字错误。我的理解是,通用DetailView不需要查询集

models.py
class Classroom(models.Model):
    classroom_name = models.CharField(max_length=10)
    course = models.ForeignKey(Course, on_delete=models.CASCADE)

    def __str__(self):
        return self.classroom_name

views.py
class ClassroomDetailView(generic.DetailView):
    model: Classroom

urls.py
app_name = 'gradebook'
urlpatterns = [
    path('', views.IndexView.as_view(), name='index'),
    path('signup/', SignUpView.as_view(), name='signup'),
    path('courses/', views.courses, name='courses'),
    path('classroom/', views.classroom, name='classroom'),
    path('classroom/<int:pk>/',
         views.ClassroomDetailView.as_view(), name='classdetail'),
    path('addstudent/<int:classroom_id>/', views.addstudent, name='addstudent'),
    path('addmultistudent/<int:classroom_id>/',
         views.addmultistudent, name='addmultistudent'),
    path('objective/<int:course_id>/', views.addobjective, name='addobjective'),
    path('addassessment/<int:course_id>/',
         views.addassessment, name='addassessment'),
]

models.py
班级教室(models.Model):
教室名称=models.CharField(最大长度=10)
课程=models.ForeignKey(课程,on_delete=models.CASCADE)
定义(自我):
返回self.u名称
views.py
类ClassroomDetailView(generic.DetailView):
模型:教室
url.py
应用程序名称=‘成绩册’
URL模式=[
路径(“”,views.IndexView.as_view(),name='index'),
路径('signup/',SignUpView.as_view(),name='signup'),
路径('courses/',views.courses,name='courses'),
路径('classification/',views.classification,name='classification'),
路径(“教室//”,
views.ClassroomDetailView.as_view(),name='classdetail'),
路径('addstudent/',views.addstudent,name='addstudent'),
路径('addmultistudent/',
views.addmultistudent,name='addmultistudent'),
路径('objective/',views.addobjective,name='addobjective'),
路径('addassessment/',
views.addassessment,name='addassessment'),
]
您需要使用“=”而不是“::

您需要使用“=”而不是“::


谢谢,那是我盯着屏幕的一个小时。谢谢,那是我盯着屏幕的一个小时。
# views.py
class ClassroomDetailView(generic.DetailView):
    model = Classroom