私が持っているとします:
models.py
class Books(models.Model):
owner = models.ForeignKey(User)
title = models.CharField(max_length = 100)
api.py
class UserResource(ModelResource):
#blhblahblah as usual
class BooksResource(ModelResource):
owner= fields.ToOneField(UserResource, 'owner')
class Meta:
queryset = Books.objects.all()
authorizarion = Authorization()
それから私は発行します:
curl --dump-header - -H "Content-Type: application/json" -X POST --data "{\"owner\" : \"/api/v1/user/1/\", \"title\" : \"foo\"}" http://localhost:8000/api/data/album/
そしてそれは働いています、私は私の新しいものを手に入れましたBooks
\"owner\" : \"/api/v1/user/1/\"
次に、これをに追加してを取り除こうとしますBooksResource
def hydrate_owner(self, bundle):
bundle.obj.owner = User.objects.get(pk = bundle.request.user.id)
return bundle
curl
なしでもう一度行う\"owner\" : \"/api/v1/user/1/\"
と、応答は404 not found
次に、別の方法を試します:
def obj_create(self, bundle, request = None, **kwargs):
return super(BooksResource, self).obj_create(bundle, request, owner = User.objects.get(pk = request.user.id))
また
def obj_create(self, bundle, request = None, **kwargs):
return super(BooksResource, self).obj_create(bundle, request, owner = User.objects.get(pk = bundle.request.user.id))
私はまだ得る404 not found
みんな私を助けることができますか?