python – 用户为FK TastyPie API的模型资源
发布时间:2020-05-23 20:22:17 所属栏目:Python 来源:互联网
导读:使用TastyPie我有一个拥有FK用户的模型资源.当我对API发布POST时,我必须包含这样的用户ID: data : JSON.stringify({ name : value a, user : 12 }), 我的用户必须通过登录或使用API密钥以及用户名和密码进行身份验证.在这两种情况下,我都知道用户是谁. 1)如
|
使用TastyPie我有一个拥有FK用户的模型资源.当我对API发布POST时,我必须包含这样的用户ID: data : JSON.stringify({ name : 'value a',user : '12' }),
我的用户必须通过登录或使用API密钥以及用户名和密码进行身份验证.在这两种情况下,我都知道用户是谁. 1)如何让用户确保user1不为user2创建资源? 2)或者完全发送用户ID是违反直觉的?我应该以某种方式从授权细节中获取用户,如果是这样的话? 解决方法回答问题#1:Tastypie文档描述了 how to create per-user resources.假设用户已经是请求的一部分:class MyResource(ModelResource):
class Meta:
queryset = MyModel.objects.all()
resource_name = 'environment'
list_allowed_methods = ['get','post']
authentication = ApiKeyAuthentication()
authorization = Authorization()
# Only allow creation of objects belonging to the user
def obj_create(self,bundle,**kwargs):
return super(EnvironmentResource,self).obj_create(bundle,user=bundle.request.user)
# Only allow accessing resources for this user
def apply_authorization_limits(self,request,object_list):
return object_list.filter(user=request.user)
要回答问题#2,您应该让用户成为会话的一部分. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
