我想使用django-rest-framework中的CreateAPIView
创建一个对象。调用视图时,我得到一个MemoryError
。这可能是因为视图试图在可浏览的响应中显示所有350000个现有对象。
如何阻止视图执行相应的查询?定义post
或get_queryset
方法无济于事。
答案 0 :(得分:1)
我使用APIView
代替CreateAPIView
解决了问题。这是我写的课程:
class VoteCreateAPIView(views.APIView):
def post(self, request, *args, **kwargs):
vote = request.POST.get('vote', '')
# here some validation
Vote.objects.create(
user=request.user,
vote=vote)
return response.Response({'vote': vote}, status=status.HTTP_200_OK)
如果有更好的方法,我仍然会好奇。