DoesNotExist - соответствующий запрос не существует
У меня есть представление на основе класса django, где я пытаюсь переписать функцию get_queryset, потому что я хочу получить вставленные значения из фронтенда, чтобы искать в базе данных предмет с таким именем и затем получить id. но когда я вызываю представление, оно выдает мне "Subject matching query does not exist.", потому что subject_val is None. Это имеет смысл, потому что пользователь не отправил значения струи... так как же мне заставить его ждать, пока пользователь не выберет "submit
"?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
, если да, то необходимо вернуть другой кверисет AttendanceLog
s (например 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')
if class_val is not None and subject_val is not None:
sub = Subject.objects.get(name=subject_val).id
return get_statstic(class_val, sub)
# return another queryset:
return AttendanceLog.objects.none()
# …