2015-05-01 19 views
5

Tôi muốn tạo một serializer đơn giản mà mọi người muốn sẽ có thể thêm một câu hỏi với nhiều câu trả lời (bao nhiêu mà anh ta muốn)django phần còn lại 3.1.1 - một đến nhiều serializer với "nhiều" thuộc tính

một Câu hỏi- nhiều câu trả lời

  • Tôi muốn có thể thêm bằng cách xây dựng ở dạng html và không chỉnh sửa json.

mô hình của tôi:

class Question(models.Model): 
     question_text = models.CharField(max_length=30) 

    class Answer(models.Model): 
     question = models.ForeignKey(Question) 
     answer_text = models.CharField(max_length=40) 

url.py tôi

class AnswerSerializer(serializers.HyperlinkedModelSerializer): 
    class Meta: 
     model = Answer 
     fields = ('answer_text',) 


class QuestionSerializer(serializers.HyperlinkedModelSerializer): 

    answers = AnswerSerializer(many=True) 
    class Meta: 
     model = Question 
     fields = ('question_text', 'answers',) 

class QuestionViewSet(viewsets.ModelViewSet): 
    queryset = Question.objects.all() 
    serializer_class = QuestionSerializer 

bây giờ, khi tôi chạy web Tôi nhận được thông báo:

"Lists hiện không được hỗ trợ trong đầu vào HTML. "

xin vui lòng giúp :)

đầu tiên chỉnh sửa

ngay cả khi tôi loại bỏ các ('nhiều = True') tôi nhận được một lỗi khi cố gắng gửi:

AssertionError tại/questions/ Phương thức .create() không hỗ trợ các trường lồng nhau có thể ghi theo mặc định. Viết phương thức rõ ràng .create() cho bộ nối tiếp api_project2.urls.QuestionSerializer hoặc đặt read_only=True trên các trường bộ nối tiếp lồng nhau.

thats tạo m Vấn đề thứ hai: create() phương pháp mà tôi không knwo cách chỉnh sửa

Trả lời

3

khi bạn xóa ('many = True'), bạn gặp lỗi khi cố gắng đăng vì bạn chưa viết lại hàm tạo, bạn nên viết lại hàm tạo

1

quote bạn trả lời câu hỏi của bạn. Các biểu mẫu nhập dạng xem HTML được tích hợp sẵn không hỗ trợ danh sách.

Dường như hỗ trợ là planned for 3.1 nhưng tôi không thấy bất kỳ đề cập nào trong số 3.1 release notes.

Các vấn đề liên quan