django를 처음 접하고 서버의 ID 목록을 보내 일부 정보를 업데이트하려고합니다. 나는 그들에게 모델 클래스가되기를 원하지 않는다. 내가 뭘하려고하는지 그들은 serializer에 넣어 그들이 "깨끗한"있는지 확인하는 것입니다.django는 게시물에서 비 모델을 직렬화 할 수 없습니다.
보기 클래스 :
class Update_Cards(APIView):
# This seems necessary or it will throw an error
queryset = Card.objects.all()
def post(self, request, board_id, format=None):
print request.DATA
serializer = CardMoveSerializer(data=request.DATA, many=True)
#this throws an error
print serializer.data
return Response(serializer.data)
시리얼 : 여기 내 코드는
class CardMoveSerializer(serializers.Serializer):
card_id = serializers.IntegerField()
lane_id = serializers.IntegerField()
오류 내가 얻을 :
나는 simplejson 파서 이것을 구현했을 무엇[{u'lane_id': 21, u'card_id': 3}] #this is to show the data is coming across the wire
Internal Server Error: /api/board/2/updateCards
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 115, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/Library/Python/2.7/site-packages/django/views/generic/base.py", line 68, in view
return self.dispatch(request, *args, **kwargs)
File "/Library/Python/2.7/site-packages/django/views/decorators/csrf.py", line 77, in wrapped_view
return view_func(*args, **kwargs)
File "/Library/Python/2.7/site-packages/rest_framework/views.py", line 327, in dispatch
response = self.handle_exception(exc)
File "/Library/Python/2.7/site-packages/rest_framework/views.py", line 324, in dispatch
response = handler(request, *args, **kwargs)
File "/Users/crob/Documents/workspace/tlckanban/python/rest/views.py", line 37, in post
print card_moves.data
File "/Library/Python/2.7/site-packages/rest_framework/serializers.py", line 499, in data
self._data = [self.to_native(item) for item in obj]
TypeError: 'NoneType' object is not iterable
현재로서는 최선의 방법이라고 생각하지 않습니다.
def update_cards(request, board_id):
json_data = simplejson.loads(request.body)
for moveIndex in range(0, len(json_data)):
#do some work
return JSONResponse(json_data, status=status.HTTP_200_OK)
미리 도움을 청하십시오!
어떤 데이터가보기로 전달됩니까? 몇 가지 샘플을 포함시킬 수 있습니까? –
응용 프로그램이 좋아하지 않는 None 값이 전달 된 것처럼 보입니다. –
오류 메시지의 맨 처음 줄에 request.DATA가 콘솔에 인쇄됩니다. 나는 보내고있다 : [{u'lane_id ': 21, u'card_id': 3}] 그것들은 유일한 2 가지 속성이므로 아무 것도 없어야한다. None – stuffins