Я создал сериализатор для публикации результатов, но когда я пытаюсь использовать почтальон, он говорит, что значение 'enrollment_id' равно нулю:
views.py
from rest_framework import generics
from .serializers import ResponseSerializer
class ResponseCreate(generics.CreateAPIView):
serializer_class = ResponseSerializer
сериализаторы.py
class ResponseSerializer(serializers.ModelSerializer):
class Meta:
model = Response
fields = (
'enrollment_id',
'evaluation_id',
'question_id',
'question_component_id',
'user_id',
)
urls.py
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).
просмотр
Редактировать:
Модель Ответ:
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,
)