Перезаписывать сохранять метод django

Мне нужно переопределить метод Django save, чтобы при совершении покупки определенным cpf, она сохранялась со статусом "Approved". Кто-нибудь может мне помочь?

Следуйте за models.py


class Purchases(TimeStampedModel):
    APROVADO = "AP"
    EM_VALIDACAO = "VA"
    STATUS_CHOICHES = (
        (APROVADO, "Aprovado"),
        (EM_VALIDACAO, "Em validação"),
    )
    values = models.DecimalField(decimal_places=2, max_digits=10, default=0)
    cpf = BRCPFField("CPF")
    status = models.CharField(max_length=20, choices=STATUS_CHOICHES, default=EM_VALIDACAO)

Вам просто нужно добавить новый метод

def save(self, *args, **kwargs):
    #your business logic

    super().save(*args, **kwargs)
def save(self, *args, **kwargs):
    if self.cpf == "15350946056":
        self.status = "AP"
        super(Purchases, self).save(*args, **kwargs)
    else:
        self.status = "VA"
        super(Purchases, self).save(*args, **kwargs)

CPF находится между " ", потому что BRCPFField работает с charfild, нам нужно преобразовать cpf в строку, чтобы было сравнение

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