Django не может создать модель с достаточным количеством данных

models.py

class QuestionReply(models.Model):
    reply_user = models.ForeignKey(cUser, on_delete=models.CASCADE)
    reply_question = models.ForeignKey(Question, on_delete=models.CASCADE)
    reply = models.TextField()

    votes = models.IntegerField(default=0)

    created_at = models.DateTimeField(auto_now_add=True)

views.py

class AddQuestionReply(APIView):
    def post(self, request, id):
        try:
            reply = request.data.get('reply')
            reply_user = request.data.get('reply_user')

            reply_to_question = models.QuestionReply(reply_user=reply_user, reply_question=id, reply=reply)
            reply_to_question.save()

            return Response({'OK': 'Reply added'}, status=status.HTTP_200_OK)
        except:
            return Response({'400': f'QuestionReply has invalid data'}, status=status.HTTP_400_BAD_REQUEST)

urls.py

path('questions/question-reply/add/<int:id>', views.AddQuestionReply.as_view(), name='add-question-reply')

данные отправлены

{
    "reply_user": "1",
    "reply": "Hello, world"
}

У меня есть модель с 2 внешними ключами, TextField и 2 полями по умолчанию, я отправил необходимые данные на url (reply_question приходит с url), но по какой-то причине модель не создается и возникает ошибка

Поскольку id и reply_user являются ForeignKeys, вы должны работать с reply_user_id и reply_question_id для указания первичных ключей соответствующих объектов, так:

reply_to_question = QuestionReply.objects.create(
    reply_user_id=reply_user,
    reply_question_id=id,
    reply=reply
)
Вернуться на верх