Перезаписывать сохранять метод 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 в строку, чтобы было сравнение