晚上好,
我有一个视图,仅当我以超级用户身份登录时才有效,而不是以"部门主管"身份登录
def detail_employee(request, pk, employee_pk):
department = get_object_or_404(Department, pk=pk)
print(department.supervisor, request.user.username)
if request.user.username == department.supervisor or request.user.is_superuser:
employee = get_object_or_404(Employee, department__pk=pk, pk=employee_pk)
review = get_object_or_404(Result, pk=pk)
print(employee, review.id)
return render(request, 'review_employee.html', {'employee': employee})
return redirect('dept_employees', pk=department.pk)
我使用用户记录的打印进行验证是 == 部门主管,但跳过了 if 语句,如果 im 与超级用户一起记录,它工作正常。
我试图看看我在这里做错了什么。
谢谢
编辑添加模型。
class Department(models.Model):
name = models.CharField(max_length=75, unique=True)
description = models.CharField(max_length=100)
supervisor = models.ForeignKey(User, related_name='supervisor', on_delete=models.CASCADE)
按如下方式更改if
条件,/
if request.user == department.supervisor or request.user.is_superuser:
request.user.username
是一种str
类型,其中 as department.supervisour
是 User
类对象