POST из файла Python в базу данных в Django

Я разрабатываю приложение на Django, которое использует машинное обучение. На данный момент я обучил модель и создал список в views.py. Однако я хотел бы ПОСТАВИТЬ предсказание из файла в базу данных. Я проверил множество руководств и даже StackOverflow, но не получил удовлетворительного ответа. Вот мой views.py:

from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
from rest_framework.parsers import JSONParser
from core.models import Churn
from core.serializers import ChurnSerializer
from django.http.response import JsonResponse
import pickle

# Create your views here.
#GET, POST, PUSH, DELETE methods defined
u/csrf_exempt
def churnApi(request,id=0):
 if request.method=='GET':
        churns = Churn.objects.all()
        churns_serializer = ChurnSerializer(churns, many=True)
 return JsonResponse(churns_serializer.data, safe=False)
 elif request.method=='POST':
        churn_data=JSONParser().parse(request)
        churns_serializer = ChurnSerializer(data=churn_data)
 if churns_serializer.is_valid():
            churns_serializer.save()
 return JsonResponse("Added Successfully!", safe = False)
 return JsonResponse("Failed to Add", safe=False)
 elif request.method=='PUT':
        churn_data = JSONParser().parse(request)
        churn=churns.objects.get(ModelPred=churn_data['ModelPred'])
        churns_serializer=ChurnSerializer(churn,data=churn_data)
 if churns_serializer.is_valid():
            churns_serializer.save()
 return JsonResponse("Updated successfully", safe=False)
 return JsonResponse("Failed to update", safe=False)
 elif request.method=='DELETE':
        churn=Churn.objects.get(ModelPred=id)
        churn.delete()
 return JsonResponse("Deleted successfully", safe=False)


#Render frontend from folder
def front(request):
    context = { }
 return render(request, "index.html", context)

#Prediction generated by Machine Learning model
def result(request):
 cls = pickle.load('churn_model.sav')

    lis = []

    lis.append(request.GET['0'])
    lis.append(request.GET['1'])
    lis.append(request.GET['29.85'])
    lis.append(request.GET['29.85'])
    lis.append(request.GET['0'])
    lis.append(request.GET['1'])
    lis.append(request.GET['0'])
    lis.append(request.GET['0'])
    lis.append(request.GET['0'])
    lis.append(request.GET['1'])
    lis.append(request.GET['1'])
    lis.append(request.GET['1'])
    lis.append(request.GET['0'])
    lis.append(request.GET['0'])
    lis.append(request.GET['1'])
    lis.append(request.GET['0'])
    lis.append(request.GET['1'])
    lis.append(request.GET['0'])
    lis.append(request.GET['1'])
    lis.append(request.GET['0'])
 print(lis)
    ans = cls.predict([lis])
 print(ans)

Сейчас, для простоты, я использую список в самом файле views для получения прогноза. После того как я смогу убедиться, что моя модель работает, я буду использовать набор данных.

Если вы знаете, как это сделать, ваша помощь будет высоко оценена.

Вернуться на верх