我正在尝试将URL中的PK与request.user.id进行比较,以便没有人可以查看其他人的个人资料。这可能不是传统的方法,但我仍然想知道我的代码有什么问题。我是一个新学习者,所以请耐心等待。
class UserDetail(DetailView):
queryset = Profile.objects.all()
template_name = 'details.html'
def get_queryset(self):
if self.request.user.id != self.kwargs['pk']:
queryset = Profile.objects.first()
return queryset
else:
return self.queryset
class Profile(AbstractUser):
type = models.CharField(max_length=50)
url(r'^details/(?P<pk>\d+)/$', login_required(views.UserDetail.as_view())),
当我转到网址时:
错误
Exception Type: AttributeError
Exception Value: 'Profile' object has no attribute 'filter'