我尝试在我的 Django 应用程序中获取有关经过身份验证的用户的详细信息。
为此,我创建了一个新资源:
class MyUserResource(ModelResource):
class Meta:
queryset = ReaderUser.objects.all()
resource_name = 'me'
list_allowed_methods = []
detail_allowed_methods = ['get']
authorization = Authorization()
authentication = SessionAuthentication()
excludes = ('password', 'id', 'is_active', 'is_admin', 'last_login')
def apply_authorization_limits(self, request, object_list):
print request.user
return object_list.filter(pk=request.user.pk)
def prepend_urls(self):
return [
url(r"^(?P<resource_name>%s)/$" % self._meta.resource_name, self.wrap_view('dispatch_detail'), name="api_dispatch_detail"),
]
当我调用我的 API 时,/api/me/?format=json
我得到了以下信息:More than one resource is found at this URI.
我也尝试过不使用 prepend_urls。我不明白的是该print
语句从未在方法中执行apply_authorization_limits
关于我做错了什么的任何提示?