Как перезаписать данные в django?

У меня есть два представления, в одном я пытался перезаписать данные. вот первый код:

**

tafhist = APIHistory(API_Hist_Id= pi,Status='API has been Submitted',unique_Id='UNID1006',url=url)
            tafhist.save()

**

Сначала я создаю данные и сохраняю их. Теперь в том же месте я хочу обновить тот же столбец. вот второй код этого:

**

                tafhist = APIHistory(Status='TAF Started')
                tafhist.save()

**

В этой строке я пытался обновить, но не понял, как это сделать. кто-нибудь может объяснить?

вот моя модель:

class APIHistory(models.Model):
    API_Hist_Id = models.ForeignKey(APIDetail, on_delete=models.CASCADE, related_name='TestCase_ID', blank=True, null=True)
    Status = models.CharField(max_length=200,blank=True)
    unique_Id = models.CharField(max_length=100,blank=True)    
    errorMsg = models.CharField(max_length=500,blank=True)
    url = models.CharField(max_length=10000,blank=True)
    created_at = models.DateTimeField(auto_now_add=True, blank=True,  null=True)
    updated_at = models.DateTimeField(auto_now=True, blank=True,  null=True)

Вот два моих мнения:

@csrf_exempt
def ATFinfo(Request):
    print("request",Request)
    res = Request.body
    print("atf response POST",res)
    b = QueryDict(res)
    h = json.dumps(b) 
    p = json.loads(h)
    print("checking p", p)
    uid = p["uniqueId"]
    eventType = p["eventType"]
    print("my dict",uid,eventType)
    # tuid = list(APIHistory.objects.values('unique_Id').values())[0].get('unique_Id')
    tuid = list(APIHistory.objects.values('unique_Id').filter(unique_Id=uid).values())[0].get('unique_Id')
    # uniqid = bool(tuid == uid)
    print(" checking uniqid",tuid)
    if tuid :
        if eventType == 'START':
            tafhist = APIHistory(Status='TAF Started')
            tafhist.save()
        elif eventType == 'END':
            tafhist = APIHistory(Status='TAF Completed')
            tafhist.save()
        else:
            tafhist = APIHistory(Status='Failed')
            tafhist.save()
        print("if")
        return HttpResponse('{"responseCode":"OK","description":"Request acquired without errors","errorCode":"","errorDescription":""}')
    else:
        print("else")
        return HttpResponse('{"responseCode":"KO","description":"Request acquired with errors","errorCode":"ERROR","errorDescription":""}')


def ATFrun(request,API_ID):
    if request.method == 'POST':
        pi = APIDetail.objects.get(pk=API_ID)
        atfParam= list(APIParameter.objects.values('id','parameterName','parameterValue').filter(api_taf_id=pi))
        req = request.POST
        req_list = list(dict(req).values())
        ATFparams_count = len(req_list)
        ATFparams = ""
        # url = 'http://172.31.65.156:8082/TAF-Core/ServletController?'
        url = list(Lookup.objects.values('Value').filter(Name='TAF_API_URL').values())[0].get('Value')
        print("Checking url", url)
        if ATFparams_count > 0:
            for i in range(ATFparams_count-1):
                ATFparams = ATFparams + req_list[i+1][0] +'=' + req_list[i+1][1] +'&'
                # print("atf",ATFparams)
                data = ATFparams[:-1]
            url = url + data
        # print("hi Chethan")
        print('paramfinal-hello',url)
        post_response = requests.post(url=url)
        print("post response", json.loads(post_response.text))
        tafhist = APIHistory(API_Hist_Id= pi,Status='API has been Submitted',unique_Id='UNID1006',url=url)
        tafhist.save()
        atf = APIDetail.objects.all()
        return HttpResponseRedirect('/TAFDashboard')
    else:
        pi = APIDetail.objects.get(pk=API_ID)
        atfParam= list(APIParameter.objects.values('id','parameterName','parameterValue').filter(api_taf_id=pi))
    atf = APIDetail.objects.all()   
    return render(request, 'hello/ATF_Run.html',{'ATF': atf, 'Param': atfParam})
Вернуться на верх