我不能发个帖子Django的REST框架

问题描述 投票:0回答:2

我创建了一个串行张贴结果,但是当我尝试使用邮递员它说,值“enrollment_id”为空:

views.朋友

from rest_framework import generics

from .serializers import ResponseSerializer


class ResponseCreate(generics.CreateAPIView):
    serializer_class = ResponseSerializer

serialize认识.朋友

class ResponseSerializer(serializers.ModelSerializer):

    class Meta:
        model = Response
        fields = (
            'enrollment_id',
            'evaluation_id',
            'question_id',
            'question_component_id',
            'user_id',
        )

URLs.朋友

from django.urls import path

from . import views

urlpatterns = [
    path('', views.ResponseCreate.as_view()),
]

在邮递员后身体我发送以下JSON:

{
    "enrollment_id": 1,
    "user_id": 2,
    "question_component_id": 2,
    "question_id": 1,
    "evaluation_id": 1
}

错误邮递员:

IntegrityError at /response/
null value in column "enrollment_id" violates not-null constraint
DETAIL:  Failing row contains (9, null, null, null, null, null).

视图

enter image description here

编辑:

模型响应:

class Response(models.Model):
    user = models.ForeignKey(
        User, 
        on_delete=models.CASCADE, 
        )
    enrollment = models.ForeignKey(
        Enrollment, 
        on_delete=models.CASCADE, 
        )
    evaluation = models.ForeignKey(
        Evaluation,
        on_delete=models.CASCADE, 
        )
    question = models.ForeignKey(
        Question,
        on_delete=models.CASCADE, 
        )
    question_component = models.ForeignKey(
        Question_Component,
        on_delete=models.CASCADE, 
        )
python django-rest-framework
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.