3
我正在使用Rest Framework Ember和Django Rest Framework作为我的Ember应用程序的JSON API后端。Rest Framework Ember和sideloading
https://github.com/ngenworks/rest_framework_ember
我已经得到了侧面加载与RESOURCE_NAME =假的标志正常工作。 这里是我的代码如下:
class DocumentViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows documents to be viewed or edited.
"""
queryset = Document.objects.all()
serializer_class = DocumentSerializer
# Side loading code for documents
resource_name = False
# renderer_classes = (JSONRenderer, BrowsableAPIRenderer)
def list(self, request, *args, **kwargs):
# import IPython
# IPython.embed()
data = {'document': []}
for doc in self.get_queryset():
data['document'].append(doc)
data['contacts'] = doc.contacts.all()
serializer = DocumentContactSerializer(data)
return Response(serializer.data)
这工作,因为我希望它的工作。
现在的问题是,因为我实现了这一点,只要在POST我收到此错误创建一个新的对象覆盖在ModelViewSet名单()方法:
'NoneType' object has no attribute '__getitem__'
如果我评论out resource_name = False,然后POST按预期工作。
你知道这是什么原因吗?
整洁的解决方案。你使用什么版本的DRF?我正在寻找自己来实现这一点。 – dustinfarris 2014-11-16 05:00:36