class TestResource(ModelResource):
user = fields.ForeignKey(UserResource, 'user')
class Meta:
queryset = Test.objects.all()
resource_name = 'test'
authorization = Authorization()
authentication = BasicAuthentication()
How to get Test
objects created by actually logged user?
All objects:
http:// 127.0.0.1:8000/api/test/?format=json
Assuming you want to return resources based on the currently logged in user, you can limit the resources returned by overriding apply_authorization_limits
on the resource. Setting the current user for a POST is just as easy by overriding obj_create
.
See: http://django-tastypie.readthedocs.org/en/latest/cookbook.html#creating-per-user-resources for an example.
class TestResource(ModelResource):
user = fields.ForeignKey(UserResource, 'user')
class Meta:
queryset = Test.objects.all()
resource_name = 'test'
authorization = Authorization()
authentication = BasicAuthentication()
def obj_create(self, bundle, **kwargs):
return super(TestResource, self).obj_create(bundle,
user=bundle.request.user)
def apply_authorization_limits(self, request, object_list):
return object_list.filter(user=request.user)