您可以将主干集合/模型指向您想要的任何url,并在主干“子类”中解析响应。在
在模型.url公司名称:
在集合.parse公司名称:
您可以设置一次性请求处理程序,该处理程序可以返回一些json供主干解析/摄取,而无需活塞或tastype。django是的,但这两个解决方案都很好。在
使用tastype,可以通过自定义授权/身份验证来限制对api的访问。在
您可以创建一个授权方案,确保对象列表被筛选为仅是用户“拥有”的对象,如下所示:class PerUserAuthorization(Authorization):
def apply_limits(self, request, object_list):
if request and hasattr(request, 'user'):
if request.user.is_authenticated():
object_list = object_list.filter(user=request.user)
return object_list
return object_list.none()
或者/另外,您可以通过重写ModelResource.apply_authorization_limits方法来生成只返回用户对象的资源,并通过重写obj_create方法自动将用户与创建的对象相关联,类似于:
^{pr2}$
然后,可以从PerUserModelResource继承和/或使PerUserAuthorization成为资源的授权。在class ImageGroupResource(PerUserModelResource):
study = fields.ForeignKey(StudyResource, "study")
uploads = fields.ToManyField('cm.api.UploadResource', 'uploads', null=True)
class Meta:
queryset = ImageGroup.objects.all()
list_allowed_methods = ['get', 'post']
detail_allowed_methods = ['get', 'post', 'put', 'delete']
resource_name = 'cm/imagegroup'
authorization = PerUserAuthorization()
filtering = {
'name': ALL,
'created_dt': ['exact', 'range', 'gt', 'gte', 'lt', 'lte'],
}
主干和django的品味都有很好的记录。花点时间建立一个简单的概念证明,并通读文档几遍。他们像豌豆和胡萝卜一样在一起。在