Я использую сигнал pre_save для выполнения некоторых функций, но когда я использовал операторы print для печати журнала, я обнаружил, что метод сохранения моей модели вызывается перед связанным методом pre_save, из того, что, как я знаю, метод pre_save должен вызываться раньше Я публикую свою часть своего кода для справки:
Models.py:
class RedeemCode(models.Model):
code = models.CharField(max_length=128)
reward = models.ForeignKey(Reward, on_delete=models.CASCADE)
is_active = models.BooleanField(default = True)
class Meta:
unique_together = ['code']
def save(self, **kwargs):
print("In model save method")
super().save(**kwargs)
в Views.py мой метод pre_save:
@receiver(pre_save,sender=RedeemCode)
def send_noti(sender, instance, **kwargs):
print("Pre_save Method called ----->",instance)
Когда Я добавляю новые значения из панели администратора и отправляю его. Метод сохранения модели называется Сначала он печатает In model save method
, а затем вызывается связанный метод pre_save, поэтому вывод выглядит так:
In model save method
Pre_save Method called
Из моего понимания не следует ли сначала вызывать связанный метод pre_save, а затем сохранять метод Model, и результат должен быть таким:
Pre_save Method called
In model save method
Я не понимаю, что происходит, может кто-нибудь объяснить, почему это происходит? или если я что-то делаю не так, заранее спасибо :))