DoesNotExist - 匹配的查询不存在
DoesNotExist - matching query does not exist
我有这个基于 django class 的视图,我试图在其中覆盖 get_queryset 函数,因为我想从前端获取插入的值,以便在主题之后在我的数据库中搜索该名称,然后获取 id。但是当我调用视图时,它给了我一个“主题匹配查询不存在”。因为 subject_val 是 None。这是有道理的,因为用户尚未提交值 jet.. 那么我如何让它等到用户选择“提交
class AttendanceList(LoginRequiredMixin, ListView):
model = AttendanceLog
template_name = "./attendancecode/showattendance.html"
def get_queryset(self):
class_val = self.request.GET.get('class')
subject_val = self.request.GET.get('subject')
sub = Subject.objects.get(name=subject_val).id
new_context = get_statstic(class_val, sub)
return new_context
def get_context_data(self, **kwargs):
context = super(AttendanceList, self).get_context_data(**kwargs)
context['class'] = self.request.GET.get('class')
context['subject'] = self.request.GET.get('subject')
return context
您可以检查这些值是否不是 None
,如果是,您需要 return 另一个 AttendanceLog
的查询集(例如 AttendanceLog.objects.all()
或AttendanceLog.objects.none()
):
class AttendanceList(LoginRequiredMixin, ListView):
model = AttendanceLog
template_name = "./attendancecode/showattendance.html"
def get_queryset(self):
class_val = self.request.GET.get('class')
subject_val = self.request.GET.get('subject')
<strong>if class_val is not None and subject_val is not None</strong>:
sub = Subject.objects.get(name=subject_val).id
return get_statstic(class_val, sub)
# return another queryset:
return AttendanceLog.objects.none()
# …
我有这个基于 django class 的视图,我试图在其中覆盖 get_queryset 函数,因为我想从前端获取插入的值,以便在主题之后在我的数据库中搜索该名称,然后获取 id。但是当我调用视图时,它给了我一个“主题匹配查询不存在”。因为 subject_val 是 None。这是有道理的,因为用户尚未提交值 jet.. 那么我如何让它等到用户选择“提交
class AttendanceList(LoginRequiredMixin, ListView):
model = AttendanceLog
template_name = "./attendancecode/showattendance.html"
def get_queryset(self):
class_val = self.request.GET.get('class')
subject_val = self.request.GET.get('subject')
sub = Subject.objects.get(name=subject_val).id
new_context = get_statstic(class_val, sub)
return new_context
def get_context_data(self, **kwargs):
context = super(AttendanceList, self).get_context_data(**kwargs)
context['class'] = self.request.GET.get('class')
context['subject'] = self.request.GET.get('subject')
return context
您可以检查这些值是否不是 None
,如果是,您需要 return 另一个 AttendanceLog
的查询集(例如 AttendanceLog.objects.all()
或AttendanceLog.objects.none()
):
class AttendanceList(LoginRequiredMixin, ListView):
model = AttendanceLog
template_name = "./attendancecode/showattendance.html"
def get_queryset(self):
class_val = self.request.GET.get('class')
subject_val = self.request.GET.get('subject')
<strong>if class_val is not None and subject_val is not None</strong>:
sub = Subject.objects.get(name=subject_val).id
return get_statstic(class_val, sub)
# return another queryset:
return AttendanceLog.objects.none()
# …