Я получаю ошибку.
UnboundLocalError в / timesheet / report / local variable 'qs', на которую есть ссылка перед присваиванием
class ReportView(LoginRequiredMixin, generic.ListView):
template_name = 'report/report.html'
paginate_by = constants.PAGINATED_NUMBER
context_object_name = 'reports'
def get_queryset(self, *args, **kwargs):
try:
timesheet_latest_ids = TimesheetEntry.objects.raw('SELECT MAX(id) as id FROM timesheet_entry WHERE timesheet_is_running = 0 GROUP BY timesheet_users_id ORDER BY timesheet_clock_out_on DESC')
list1 = []
for timesheet_latest_id in timesheet_latest_ids:
list1.append(timesheet_latest_id.id)
result = TimesheetEntry.objects.filter(id__in=list1)
if self.request.user.userprofile.user_role.id == 2 : # 2 for admin
qs = TimesheetEntry.objects.filter(
id__in=list1
).filter(
timesheet_users__userprofile__user_company=self.request.user.userprofile.user_company
)
if self.request.user.userprofile.user_role.id == 3 : # 3 for manager
qs = TimesheetEntry.objects.filter(
id__in=list1
).filter(
timesheet_users__userprofile__user_company=self.request.user.userprofile.user_company
).exclude(timesheet_users__userprofile__user_role_id=3) | TimesheetEntry.objects.filter(timesheet_users__pk=self.request.user.pk)
if self.request.user.userprofile.user_role.id == 4 : # 4 for employee
qs = TimesheetEntry.objects.filter(timesheet_users=self.request.user.id).latest('id')
except TimesheetEntry.DoesNotExist:
qs=None
return qs
Если я поставлю qs=None
в except
как-то так
except TimesheetEntry.DoesNotExist:
qs = None
Тогда я получаю ошибку, подобную этой
Ошибка типа в / табель / отчет / объект типа 'NoneType' не имеет len ()
Как я могу вернуть Нет