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