Django сохраненные значения queryset возвращаются пустыми при обновлении
почему django filtered queryset возвращает пустой queryset даже после сохранения значений queryset в переменную? [проверьте #outputs]. Мне нужно получить электронную почту пользователя, но так как updated возвращает булево значение, я должен получить его до применения обновления. Но я не получаю ожидаемого результата.
def approve_gpa_over_two(self, request):
application_statuses = ApplicationStatus.objects.filter(application__gpa__gte=2.0,status='application_submitted')
application_email = application_statuses.annotate(email=F('application__email')).values_list('email',flat=True)
print(application_email)
> #output: ['abc@gg.com']
application_statuses = application_statuses.update(status='approved')
send_approval_email(application_email)
print(application_email)
> #output: []
self.message_user(request, 'Approved all applications with GPA over 2.0')
return HttpResponseRedirect("../")
Но вы обновляете статус до "одобрено", поэтому фильтрация по "application_submitted" ничего не дает.