10
를 던졌습니다
나는 아주 간단한 시리얼 설정을 것으로 가정 무엇을 가지고,하지만 난 내 API에 데이터를 입력 할 때, 나는 다음과 같은 오류 얻을 :직렬화 ManyToMany (2.3.5)에 ValueError
을ValueError: instance should be a queryset or other iterable with many=True
class MediaResourceSerializer(serializers.ModelSerializer):
owner = serializers.PrimaryKeyRelatedField(many=False, read_only=True)
class Meta:
model = MediaResource
fields = ('owner', 'name', 'type', 'url')
class AnswerSerializer(serializers.ModelSerializer):
class Meta:
model = Answer
fields = ('text','is_correct','order')
class QuestionSerializer(serializers.ModelSerializer):
answers = AnswerSerializer(many=True, required=False)
resources = MediaResourceSerializer(many=True, required=False)
class Meta:
model = Question
fields = (
'question_id',
'type',
'order',
'question_text',
'explanation',
'resources',
'grading_weight',
'answers'
)
class QuizSerializer(serializers.ModelSerializer):
questions = QuestionSerializer(many=True, required=False)
created_by = serializers.PrimaryKeyRelatedField(many=False, read_only=True)
class Meta:
model = Quiz
fields = (
'activity_id',
'name',
'is_hidden',
'created_by',
'created_date',
'last_updated',
'sharable',
'questions'
)
내가 주석 경우 '질문'
class QuizAPI(generics.RetrieveUpdateDestroyAPIView):
model = Quiz
serializer_class = QuizSerializer
lookup_field = 'activity_id'
과 시리얼 : 여기
뷰입니다 필드를 QuizSerializer에서 실행하면 문제가없는 데이터를 처리 할 수 있습니다.
** 편집 : 가 여기에 PUT 통화 페이로드의 :
activity_id: 4
created_by: 1
created_date: "2013-07-29T20:39:47.981Z"
is_hidden: false
last_updated: null
name: "This is only a test"
questions: []
sharable: true
나는 이것을 결코 풀지는 못했지만 결국에는 내 응용 프로그램의 플랫 구조를 직렬화하는 것이었다. – Mortoc