Представление django создает новый объект вместо его замены

Я написал такую функцию, которая заботится о платежной информации пользователя:

def PaymentView(request):
    template = loader.get_template('reg/payment.html')
    payment = PaymentInfo.objects.get(user=request.user)
    if request.method == 'GET':
        if payment and payment.isPaid:
            return redirect('/dashboard')
        return HttpResponse(template.render(request=request))
    if request.POST.get('proceed'):
        return redirect('/dashboard')
    else:
        payment = PaymentInfo(user=request.user)
        price = 252000
        order_id = jdatetime.datetime.now().isoformat().replace(":", "").replace(".", "").replace("-", "")
        hyperlink = proceed_to_payment(payment, order_id, price)
        return redirect(hyperlink)

и вот объект, который он создает для пользователей каждый раз, когда его вызывают:

class PaymentInfo(models.Model):
    id = models.AutoField(primary_key=True)
    user = ForeignKey(User, on_delete=models.CASCADE)
    isPaid = BooleanField(default=False)
    payment_number = CharField(max_length=32, null=True, default=None)
    order_id = CharField(max_length=32, null=True, default=None)
    track_id = CharField(max_length=50, null=True, default=None)
    card_no = CharField(max_length=16, null=True, default=None)
    hash_card_no = CharField(max_length=64, null=True, default=None)
    payment_date = DateField(auto_now_add=True, null=True)
    payment_verification_date = DateField(auto_now_add=True, null=True)

все работает отлично, но представьте, что пользователь нажимает определенную кнопку, чтобы перенаправиться на страницу оплаты, отменяет платеж и повторяет это еще раз. теперь у пользователя есть два отдельных объекта paymentInfo. Я хочу, чтобы первый из них обновлялся новой информацией. Какое утверждение я должен добавить в функцию views? Что-то вроде if payment.exists(), удалите его или замените его каким-то образом!

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